首页 > 代码库 > CentOS安装配置Git服务器(gitosis)

CentOS安装配置Git服务器(gitosis)

1、安装git客户端(为了clone gitosis版本库)
安装依赖包:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
安装git: yum install git
安装成功后,可以用git --version查看安装的git版本号
2、安装gitosis
安装python工具:yum install python python-setuptools
依次执行:
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
#显示Finished processing dependencies for gitosis==0.2即表示成功

3、开发机上生成公钥和对应的密钥(我的开发机为win7 64bit)
ps:本步骤的前提是开发机上装有Git for Windows(http://msysgit.github.io/),并在环境变量path中添加C:\Program Files (x86)\Git\bin。
ssh-keygen -t rsa
按照提示得到一个id_rsa和一个id_rsa.pub(公钥),复制到C:\Program Files (x86)\Git\.ssh目录中。
4、上传公钥到服务器并初始化gitosis
将id_rsa.pub上传到服务器/tmp目录下,并在服务器上生成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/

5、clone gitosis-admin.git 管理版本库
gitosis-admin.git版本库的作用是可以全局管理所有gitosis下面的子版本库,因此clone到本地并修改配置文件,再push到服务器上,就可以实现对其他版本库的管理,如用户、权限等。
在开发机的命令行中执行
git clone ssh://git@服务器IP:SSH端口/gitosis-admin.git
如果能够正常clone出来gitosis-admin版本库,基本的配置已经完成。

下面开始新建版本库
6、编辑新项目权限
编辑开发机上clone出来的gitosis.conf文件,在文件结尾加上:
[group test-git] # 组名称
writable = test-git # 项目名称
members = XXX@XXX #密钥用户名,参照gitosis-admin组的配置

然后add 、commit并push
git add .
git commit -m ‘add test-git’
git push

7、建立新项目仓库并提交
在开发机上新建项目文件夹,命令行中cd到该文件夹,执行下边命令
git inti
touch readme
git add .
git commit -a -m "init test-git"
git remote add origin ssh://git@服务器IP:SSH端口/test-git.git
git push origin master

以后的每次修改提交就是add commit push这样的过程,不做累述。

参考文献:

http://blog.longwin.com.tw/2011/03/linux-gitosis-git-server-2011/

http://www.cnblogs.com/vicowong/archive/2013/05/06/3062397.html

 

CentOS安装配置Git服务器(gitosis)