安装工具

sudo yum install git-core 
sudo yum install openssh-server openssh-client
sudo yum install python-setuptools

git-core: git版本控制的核心软件。

openssh-server、openssh-client: 使git可以通过ssh协议来在服务器与客户端之间传输文件。

python-setuptools: 可以帮助我们更简单的管理Python包。


初始化服务器git信息

初始化命令如下,记得替换姓名和邮箱,随便填记住就可以。

git config --global user.name "$your_name"
git config --global user.email "$your_email"


安装gitosis

gitosis用于给用户授权。

git clone  
cd gitosis
sudo python setup.py install


创建git管理员账号

sudo useradd -m git
sudo passwd git


创建仓库,分配权限

在/home目录下创建一个项目仓库存储点,并设置只有git用户拥有权限,其他用户没有任何权限,最后创建个链接映射,因为gitosis会将仓库放在用户的repositories目录下。

sudo mkdir /home/gitrepository
sudo chown git:git /home/gitrepository/
sudo chmod 700 /home/gitrepository/
sudo ln -s /home/gitrepository /home/git/repositories

gitosis初始化

sudo -H -u git gitosis-init < /root/.ssh/id_rsa.pub

输出如下:

初始化空的 Git 版本库于 /home/gitrepository/gitosis-admin.git/

重新初始化现存的 Git 版本库于 /home/gitrepository/gitosis-admin.git/


初始化后,我们需要给post-update文件添加可执行权限,让gitosis可以管理用户权限。

sudo chmod 755 /home/gitrepository/gitosis-admin.git/hooks/post-update


创建项目仓库

可以在/home/gitrepository目录下创建一个git文件proj.git,并初始化git项目仓库

mkdir proj.git
git init --bare

新建仓库目前还不能被clone,需要对gitosis进行一些配置操作。




参考:

http://blog.csdn.net/tommy_wxie/article/details/38779667