CentOS 6.5 Git服务器搭建

 

环境:

Git Server

IP: 192.168.1.40

Git Client

IP: 192.168.1.88

 

 

 

1. 在 Git Server

安装软件所需的依赖包

yum install curl-develexpat-devel gettext-devel openssl-devel zlib-devel perl-devel pythonpython-setuptools -y

 

2. 下载GIT 最新版本源码包(也可以yum安装)

 

tar zxvf git-1.9.0.tar.gz

cd git-1.9.0

make prefix=/usr/local/gitall

make prefix=/usr/local/gitinstall

ln -s /usr/local/git/bin/*/usr/bin/

git --version  表示安装成功

 

3. 安装gitosis

cd /opt/software

git clonegit://github.com/res0nat0r/gitosis.git

cd gitosis

python setup.py install

 

Finished processingdependencies for gitosis==0.2  提示 这个表示安装成功

 

 

 

3. Client 上创建密钥,然后上传至 server上面

 

ssh-keygen -t rsa
#一路回车,不需要设置密码

scp ~/.ssh/[email protected]:/tmp/

 

 

4. 在Git Server上生成git用户

 

adduser git

#导入Git Client的秘钥

#切换到git用户

su git

#服务器的公钥(刚才开发机客户端上传),导入后此开发机客户端即可以管理git服务器。

gitosis-init < /tmp/id_rsa.pub

#删除密钥

su  root
rm -rf /tmp/id_rsa.pub

 

5. 在Client(需要安装git) 上导出项目管理

 

mkdir -p /opt/git

cd /opt/git

git [email protected]:gitosis-admin.git

 

6. 增加用户,以及设置管理项目

cd /opt/git/gitosis-admin

 

编辑 gitosis.conf

 

[group test]  #组名称

members = root@bogon  #密钥用户名, members可以填多个用户,用户之间空格分隔

writable= test  #项目名称, writable为可写,只读为readonly,设置为只读则只能pull不能push

 

7. 初始化git

 

git config --global user.namesl

git config --globaluser.email [email protected]

git add .

git commit -a -m "addtest repo"

git push

 

 

8. 初始化,增加以及使用tes项目

 

cd /opt/git

mkdir test

cd test

git init

touch jicki

git add .

git commit -a -m "inittest"

git remote add [email protected]:test.git

git push origin master

 

 

9. 检查Git Server上面是否同步

 

cd /home/git/repositories/

ls

gitosis-admin.git test.git        #有同步test-git这个目录,说明成功。

 

10. 客户端增加其他成员公钥到系统中:通过添加用户的公钥到keydir目录即可,

#用户在自己电脑的默认目录(mac中为~/.ssh/)下生成或者拿到id_rsa.pub文件,然后传给管理员。(注意:id_rsa.pub最后的邮箱部分不能用数字)

#管理员将文件改名,例如改为abc.pub,此时abc就是此用户的用户名。然后放入gitosis-admin/keydir/目录下。

 

cd /git-repo/gitosis-admin

cp /path/to/member/public/key   keydir/

git add keydir/member.pub

 

#修改gitosis.conf

 

[group test]            #组名称

members = jay        # 新的密钥用户名

writable = test

 

#提交修改:

 

git commit -a -m “granted jay commit rightsto test”

git push


你可能感兴趣的:(git)