CentOS配置git服务器详解

2018-10-12  本文已影响9人  星门小嗝嗝

一、在服务器上安装git及做些操作

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

cd /usr/local/src

tar -zvxf git-2.2.2.tar.gz

cd git-2.2.2

make prefix=/usr/local all

make prefix=/usr/local install

二、查看版本号

git --version  #如果能显示版本号,即表示成功

三、在服务器安装gitosis

yum install python python-setuptools

cd /usr/local/src

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

cd gitosis

python setup.py install

#显示Finished processing dependencies for gitosis==0.2即表示成功

四、在开发机上,生产密钥并上传到服务器上(用git bush即可)

ssh-keygen -t rsa   #一路回车,不需要设置密码  ssh-keygen -C 'you email address@gmail.com' -t rsa

#上传公钥到服务器(默认SSH端口22)(如果是windows下生成d,路径在类似/c/Users/wanglei/.ssh/id_rsa.pub)

scp ~/.ssh/id_rsa.pub root@192.168.8.189:/tmp

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

# 创建git版本管理用户 git

mkdir -p /home/git

useradd -r -s /bin/sh -c 'git version control' -d /home/git git

chown git:git /home/git

# 更改git用户的密码

passwd git

# su到git用户

su - git

gitosis-init < /tmp/id_rsa.pub

#显示以下信息即表示成功,可能是中文

#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/

#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/

#修改上传权限:

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

#删除密钥

rm -rf /tmp/id_rsa.pub

六、在个人开发机上导出项目管理,可以在一个盘建个git文件夹,例如我的D://git

git clone git@192.168.8.189:gitosis-admin.git

七、在个人开发机增加及设置管理项目

cd gitosis-admin

# 查看git服务器已经上传密钥

ls keydir  

cat keydir/ltl@jackliu-ThinkPad.pub  

#ltl@jackliu-ThinkPad.pub为已经上传的开发机生成的公密

#显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad

vim gitosis.conf

#在文件尾增加以下内容

[group test-git]            # 具有写权限的组名称

writable = test-git         # 该组可写的项目名称

members = ltl@jackliu-ThinkPad  guangyun.ni@yeepay.com     #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔

# 如果要增加只读的组 参考如下

# [group test-git-readnoly]          # 具有都权限的组名称 

# readonly = test-git                # 该组只读的项目名称 

# members = ltl@jackliu-ThinkPad     # 该组的成员

#提交修改

git add .

git commit -a -m "add test-git repo"

git push

八、在个人开发机上初始,增加及使用项目callcenter

在git文件夹下

mkdir callcenter

cd callcenter

git init

touch readme

git add .

git commit -a -m "init callcenter"

git remote add origin git@192.168.8.189:callcenter.git

git push origin master

九、增加协同开发者的公钥key到git服务器 

#执行 cd git/gitosis-admin/keydir 切换目录

#把协同开发者的id_rsa.pub 文件里的数据 拷贝到 对应的开发者的 密钥用户名.pub 文件。如把密钥用户名 guangyun.ni@yeepay.com 的 id_rsa.pub 文件中文本 粘贴到 guangyun.ni@yeepay.com.pub 文件里,并保存

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

git add .

git commit -am "add guangyun.ni@yeepay.com.pub file"

git push origin master

上一篇下一篇

猜你喜欢

热点阅读