局域网搭建git服务端并使用Github Desktop作为客户

2017-11-04  本文已影响750人  追梦3000

在使用了github的客户端软件Github Desktop之后,感受到了git的便捷,研究了一下与svn的区别之后,结合目前的团队情况,决定下个项目开始使用git。

整理一下,这里服务端为centos 6.5,客户端为mac。

一、服务端安装git

yum install git

二、服务端创建用户

groupadd git和组
useradd -g git -d /var/git git
sudo chown -R git:git /var/git
passwd git

注意下面两步非常重要,如不做后面会出现奇怪问题。

三、使得创建的git用户不需要输入密码就可以ssh登录

这一步很重要,否则在git提交文件的过程中将提示密码,并且GitDesktop clone这个git的时候会提示缺少权限。

1、 在客户端执行

ssh-keygen -t rsa
rsa

此时,会在用户目录的.ssh目录中创建id_rsa和id_rsa.pub文件

image.png

2、服务端配置

把刚才生成的id_rsa.pub这个文件传输到服务端,并将这个文件的内容追加到服务端/var/git/.ssh/authorized_keys中,注意:.ssh文件夹可能不存在,需要新建

cd /var/git
mkdir .ssh
cat /home/ftpuser/id_rsa.pub >> /var/git/.ssh/authorized_keys

3、配置读写权限

su git
chmod 600 ~/.ssh/authorized_keys 
chmod 700 -R ~/.ssh/

注意这里一定是使用git这个用户来设置

image.png

如果是windows版本的客户端,首先安装git https://git-for-windows.github.io/,之后就一样了。

四、服务端初始化git版本库

注意需要使用git这个用户

su git
cd /var/git
mkdir project.git
cd project.git
git --bare init



install

五、客户端clone操作

git clone git@192.168.1.238:/var/git/project.git
cd project
client

五、客户端提交文件

touch README.md
git add README.md
git commit -m "备注"
git push origin master
commit

这里出现了错误remote unpack failed: unpack-objects abnormal exit
是因为服务端未设置权限sudo chown -R git:git /var/git

执行之后再次提交

git push origin master
image.png

六、使用Github Desktop

打开Github Desktop,选择File->Clone Repository...

image.png

切换到URL标签,并输入git地址
git@192.168.1.238:/var/git/project.git

点击Clone按钮,大功告成。

image.png
上一篇下一篇

猜你喜欢

热点阅读