本人采用的是virtualbox虚拟机,服务端系统centos6.6版本安装git1.7.1版本,客户端采用的是Git-2.7.2+sourceTree1.4.0
客户端
1、客户端创建ssh key
进入sourceTree终端,输入$ ssh-keygen -t rsa -C "youremail@example.com" #后面为邮箱地址
2、上传公钥
打开C盘/用户/.ssh目录会有一个id_rsa.pub文件,上传至服务器tmp文件夹,以便备用
服务端
1、安装git
[root@localhost ~]# yum install -y git
2、创建git用户
[root@localhost ~]# adduser git
3、初始化git仓库
[root@localhost ~]# cd /data/5kcrm/
--bare初始化裸仓库,不会包含实际项目源文件。/data/5kcrm项目地址
[root@localhost 5kcrm]# git init --bare /data/5kcrm
Initialized empty Git repository in /data/5kcrm
4、更改仓库拥有者
[root@localhost 5kcrm]# chown git:git ./
5、将公钥拷贝到authorized_keys权限文件
[root@localhost 5kcrm]# cd /home/git
[root@localhost 5kcrm]# ll -a #查看当前文件夹中的文件,是否有.ssh目录,如果没有则创建.ssh/authorized_keys
[root@localhost 5kcrm]# cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys #将上传的id_rsa.pub的公钥写入到权限文件
测试
1、打开sourceTree点击“克隆/新建”
2、输入git clone git@192.168.1.111:/data/5kcrm,出现下图所视表示成功
大功告成
另外:
如果是项目需要边测试边上线使用,可以在服务端克隆出来两个目录main(项目真是运营目录)和mainDev(仅供测试使用)
将服务端的id_rsa.pub的公钥写入到权限文件
[root@localhost ~]#cat /root/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
[root@localhost ~]# mk /data/git/main
[root@localhost ~]# cd /data/git/main
[root@localhost main]# git init #初始化仓库
添加远程主机(本人使用的是虚拟机测试的)
[root@localhost main]# git remote add origin git@192.168.1.111:/data/5kcrm
[root@localhost main]# git remote -v #列出详细信息
origin_apps git@192.168.1.111:/data/5kcrm (fetch)
origin_apps git@192.168.1.111:/data/5kcrm (push)
在测试好了,再把mainCode里面的源码部署到main目录下。
[root@localhost main]# git pull origin master
以上希望对大家有所帮助,谢谢