1.安装扩展 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 2、下载git wget http://codemonkey.org.uk/projects/git-snapshots/git/git-2014-08-24.tar.xz 3、解压安装 xz -d git-2014-08-24.tar.xz tar xvf git-2014-08-24.tar cd git-2014-08-24 make prefix=/usr/local/git all make prefix=/usr/local/git install #增加软连接 ln -s /usr/local/git/bin/* /usr/bin/ git --version #如何能显示版本号,即表示成功 3.安装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即表示成功 4.在开发机上,生产密钥并上传到服务器上 ssh-keygen -t rsa #一路回车,不需要设置密码 #上传公钥到服务器(默认SSH端口22) #scp ~/.ssh/id_rsa.pub root@192.168.1.225:/tmp 或 #scp ~/.ssh/id_rsa.pub root@www.domain.com:/tmp/ #如修改SSH端口(端口8200) #git clone ssh://git@192.168.1.225:8200/gitosis-admin.git 或 #git clone ssh://git@www.domain.com:8200/gitosis-admin.git #修改配置文件,可以省略每次输入端口 vim ~/.ssh/config #修改客户端~/.ssh/config文件,添加以下代码 host www.domain.com hostname www.domain.com port 8200 #修改后,客户端即可用以下方式进行连接 #git clone ssh://git@www.domain.com/gitosis-admin.git #上传公钥到服务器(修改端口,并在配置中指定端口) scp ~/.ssh/id_rsa.pub root@www.domain.com:/tmp/ ls /tmp/id_rsa.pub #显示已经上传的密钥 5.服务器上生成git用户,使用git用户并初始化gitosis adduser -m 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/ #删除密钥 su - root rm -rf /tmp/id_rsa.pub 6.在开发机上导出管理 mkdir -p /repo cd /repo git clone git@www.domain.com:gitosis-admin.git 7.增加及设置管理项目 cd /repo/gitosis-admin #查看已经上传密钥 ls keydir cat keydir/vicowong\@VICO.pub #vicowong@VICO.pub为已经上传的开发机生成的公密 #显示密钥最后的符串为密钥用户名 这里为vicowong@VICO vim gitosis.conf #在文件尾增加以下内容 [group test-git] # 组名称 writable = test-git # 项目名称 members = vicowong@VICO #密钥用户名 #提交修改 git add . git commit -a -m "add test-git repo" git push 8.初始,增加及使用项目test-git cd /repo mkdir test-git cd test-git git inti touch readme git add . git commit -a -m "init test-git" git remote add origin git@www.domain.com:test-git.git git push origin master |