安装工具
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