一、在服務器上安裝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即表示成功
四、在開發(fā)機上,生產(chǎn)密鑰并上傳到服務器上(用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?
# 創(chuàng)建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
六、在個人開發(fā)機上導出項目管理,可以在一個盤建個git文件夾,例如我的D://git
git clone git@192.168.8.189:gitosis-admin.git
七、在個人開發(fā)機增加及設置管理項目
cd gitosis-admin
# 查看git服務器已經(jīng)上傳密鑰
ls keydir ?
cat keydir/ltl@jackliu-ThinkPad.pub ?
#ltl@jackliu-ThinkPad.pub為已經(jīng)上傳的開發(fā)機生成的公密
#顯示密鑰 最后的字符串為 密鑰用戶名 這里為 ltl@jackliu-ThinkPad
vim gitosis.conf
#在文件尾增加以下內(nèi)容
[group test-git] ? ? ? ? ? ?# 具有寫權限的組名稱
writable = test-git ? ? ? ? # 該組可寫的項目名稱
members = ltl@jackliu-ThinkPad ?guangyun.ni@yeepay.com ? ? #該組的成員(密鑰用戶名) 多個用戶協(xié)同開發(fā)時,以空格分隔
# 如果要增加只讀的組 參考如下
# [group test-git-readnoly] ? ? ? ? ?# 具有都權限的組名稱?
# readonly = test-git ? ? ? ? ? ? ? ?# 該組只讀的項目名稱?
# members = ltl@jackliu-ThinkPad ? ? # 該組的成員
#提交修改
git add .
git commit -a -m "add test-git repo"
git push
八、在個人開發(fā)機上初始,增加及使用項目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
九、增加協(xié)同開發(fā)者的公鑰key到git服務器?
#執(zhí)行 cd git/gitosis-admin/keydir 切換目錄
#把協(xié)同開發(fā)者的id_rsa.pub 文件里的數(shù)據(jù) 拷貝到 對應的開發(fā)者的 密鑰用戶名.pub 文件。如把密鑰用戶名 guangyun.ni@yeepay.com 的 id_rsa.pub 文件中文本 粘貼到 guangyun.ni@yeepay.com.pub 文件里,并保存
#然后將添加數(shù)據(jù)后的目錄更新到git服務器
git add .
git commit -am "add guangyun.ni@yeepay.com.pub file"
git push origin master