您的位置:首页 > 运维架构 > Linux

Centos搭建git服务器

2016-04-11 23:53 483 查看
在自己的云主机上搭了个git服务器,方便平时写代码,这里记录下步骤,方便以后自己查看,推荐直接看参考原文:Centos 6.4搭建git服务器(完全参考此文)。

安装依赖

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y


git安装

git --version  #看是否安装过git
yum install git   #没有则安装


Gitosis配置

Gitosis安装

权限管理工具gitosis的安装,需要用到python-setuptools

yum install python python-setuptools
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis/
python setup.py install


公钥管理

可以通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者。

ssh-keygen -t rsa   #一路回车,不需要设置密码
scp ~/.ssh/id_rsa.pub username@ip:~


Gitosis初始化

服务器上生成git用户,使用git用户并初始化gitosis

创建git版本管理用户 git

useradd -c "git version manager" -m -d /home/git -s /bin/bash git
passed git


初始化mitosis

mv id_rsa.pub /home/git/
su git
cd
gitosis-init < ./id_rsa.pub
chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update  #添加权限


服务器端配置就ok了,下一步在开发者机器上配置

Git项目管理

Clone项目管理仓库

mkdir ~/gitrepo
cd gitrepo
git clone git@ip:gitosis-admin.git   #克隆项目管理仓库


创建一个项目

项目权限管理

创建一个新项目要在gitosis-admin.git的配置文件中添加项目,并提交到git服务器告诉服务器我有个新项目。

$cd ~/gitrepo/gitosis-admin
$vim gitosis.conf
[group test]            # 具有写权限的组名称
writable = test         # 该组可写的项目名称
members = XXX #有写权限的组成员


提交到服务器

$git add .
$git commit -a -m "add test repo"
$git push


创建项目

本地创建新项目test提交到远程仓库

$cd ~/repo
$mkdir test
$cd test   #对于新的项目,需要先在本地初始化为 Git 项目,添加要管理的文件并作首次提交
$git init
$touch ready


提交到远程服务器

$git add .
$git commit -a -m "init test"
$git remote add origin git@192.168.186.129:test.git
$git push origin master


服务端
/home/git/repositories
下就会产生test.git项目

项目添加协同开发(还没试过)

项目的开发人员一般不止一个,就要添加项目协同开发者。这里需要协同开发者的公钥,上传至git服务器。

$cd ~/gitrepo/gitosis-admin/keydir
$ mv ~/id_rsa.pub liu@xx.pub   #修改公钥为`主机名.pub`
$vim gitosis.conf   #添加成员
[group test]
writable = test
members = xxx@xxx-pc liu@xx


然后将添加数据后的目录更新到git服务器

$git add keydir/liu@xx.pub
$git commit -am " granted liu@xx commit rights to test "
$git push


注解:gitosis实际上是从服务器端的
/home/git/repositories/gitosis-admin/.gitosis.conf
文件读取信息的,通过以上操作,会将新的权限信息写入到该文件中,如果搞错了配置,导致失去了推送权限,可以通过修改该文件来重新设定,如果你手工编辑该文件的话,它会一直保持到下次向 gitosis-admin 推送新版本的配置内容为止。

推送完成后,新加的协同开发者就可以进行项目的开发了。

完全参考这篇文章:Centos 6.4搭建git服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: