Centos搭建git服务器

来源:互联网 发布:汉王手写板软件打不开 编辑:程序博客网 时间:2024/04/28 09:09

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

安装依赖

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

git安装

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

Gitosis配置

Gitosis安装

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

yum install python python-setuptoolsgit clone git://github.com/res0nat0r/gitosis.gitcd 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 gitpassed git

初始化mitosis

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

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

Git项目管理

Clone项目管理仓库

mkdir ~/gitrepocd gitrepogit 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服务器

1 0
原创粉丝点击