在使用了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

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

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这个用户来设置

如果是windows版本的客户端,首先安装git https://git-for-windows.github.io/,之后就一样了。
四、服务端初始化git版本库
注意需要使用git这个用户
su git
cd /var/git
mkdir project.git
cd project.git
git --bare init

五、客户端clone操作
git clone git@192.168.1.238:/var/git/project.git
cd project

五、客户端提交文件
touch README.md
git add README.md
git commit -m "备注"
git push origin master

这里出现了错误remote unpack failed: unpack-objects abnormal exit
是因为服务端未设置权限sudo chown -R git:git /var/git
执行之后再次提交
git push origin master

六、使用Github Desktop
打开Github Desktop,选择File->Clone Repository...

切换到URL标签,并输入git地址
git@192.168.1.238:/var/git/project.git
点击Clone按钮,大功告成。

网友评论