一、在服务器上安装git及做些操作 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel cd /usr/local/src tar -zvxf git-2.2.2.tar.gz cd git-2.2.2 make prefix=/usr/local all make prefix=/usr/local install 二、查看版本号 git --version #如果能显示版本号,即表示成功 三、在服务器安装gitosis yum install python python-setuptools cd /usr/local/src git clone git://github.com/res0nat0r/gitosis.git cd gitosis python setup.py install #显示Finished processing dependencies for gitosis==0.2即表示成功 四、在开发机上,生产密钥并上传到服务器上(用git bush即可) ssh-keygen -t rsa #一路回车,不需要设置密码 ssh-keygen -C 'you email [url=mailto:address@gmail.com]address@gmail.com[/url]' -t rsa #上传公钥到服务器(默认SSH端口22)(如果是windows下生成d,路径在类似/c/Users/wanglei/.ssh/id_rsa.pub) scp ~/.ssh/id_rsa.pub [url=mailto:root@192.168.8.189]root@192.168.8.189[/url]:/tmp 五、服务器上生成git用户,使用git用户并初始化 gitosis # 创建git版本管理用户 git mkdir -p /home/git useradd -r -s /bin/sh -c 'git version control' -d /home/git git chown git:git /home/git # 更改git用户的密码 passwd git # su到git用户 su - git gitosis-init < /tmp/id_rsa.pub #显示以下信息即表示成功,可能是中文 #Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ #Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ #修改上传权限: chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update #删除密钥 rm -rf /tmp/id_rsa.pub 六、在个人开发机上导出项目管理,可以在一个盘建个git文件夹,例如我的D://git git clone [url=mailto:git@192.168.8.189]git@192.168.8.189[/url]:gitosis-admin.git 七、在个人开发机增加及设置管理项目 cd gitosis-admin # 查看git服务器已经上传密钥 ls keydir cat keydir/ltl@jackliu-ThinkPad.pub #[url=mailto:ltl@jackliu-ThinkPad.pub]ltl@jackliu-ThinkPad.pub[/url]为已经上传的开发机生成的公密 #显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad vim gitosis.conf #在文件尾增加以下内容 [group test-git] # 具有写权限的组名称 writable = test-git # 该组可写的项目名称 members = ltl@jackliu-ThinkPad [url=mailto:guangyun.ni@yeepay.com]guangyun.ni@yeepay.com[/url] #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔 # 如果要增加只读的组 参考如下 # [group test-git-readnoly] # 具有都权限的组名称 # readonly = test-git # 该组只读的项目名称 # members = ltl@jackliu-ThinkPad # 该组的成员 #提交修改 git add . git commit -a -m "add test-git repo" git push 八、在个人开发机上初始,增加及使用项目callcenter 在git文件夹下 mkdir callcenter cd callcenter git init touch readme git add . git commit -a -m "init callcenter" git remote add origin [url=mailto:git@192.168.8.189]git@192.168.8.189[/url]:callcenter.git git push origin master 九、增加协同开发者的公钥key到git服务器 #执行 cd git/gitosis-admin/keydir 切换目录 #把协同开发者的id_rsa.pub 文件里的数据 拷贝到 对应的开发者的 密钥用户名.pub 文件。如把密钥用户名 [url=mailto:guangyun.ni@yeepay.com]guangyun.ni@yeepay.com[/url] 的 id_rsa.pub 文件中文本 粘贴到 [url=mailto:guangyun.ni@yeepay.com.pub]guangyun.ni@yeepay.com.pub[/url] 文件里,并保存 #然后将添加数据后的目录更新到git服务器 git add . git commit -am "add [url=mailto:guangyun.ni@yeepay.com.pub]guangyun.ni@yeepay.com.pub[/url] file" git push origin master
原创文章,转载请标明出处!