- 安裝python環境
#yum install python python-setuptools
1 ##下載gitosis倉庫到本地
2 # git clone git://eagain.net/gitosis.git gitosis
3
4 #安裝 yum install python-setuptools
5 # python setup.py install --record uninstall.txt #記錄需要卸載的東西
6
7 #導入初始化公鑰
8 # su git
9 [git@dev01 gitosis]$ gitosis-init < /tmp/id_rsa_yuan.pub
10 Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
11 Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
12
13 #進入自己設置的git倉庫路徑
14 # cd /var/git/
15 [root@dev01 git]# ln -s /home/git/repositories/ repo
16 #改變文件權限
17 [root@dev01 git]# chmod 755 /var/git/repo/gitosis-admin.git/hooks/post-update
18
19 -----------------------
20 回到本機測試一下ssh連接
21 $ ssh git@192.168.250.231
22 ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
23 Connection to 192.168.250.231 closed.
24
25 ##大功告成,說明gitosis生效
2 # git clone git://eagain.net/gitosis.git gitosis
3
4 #安裝 yum install python-setuptools
5 # python setup.py install --record uninstall.txt #記錄需要卸載的東西
6
7 #導入初始化公鑰
8 # su git
9 [git@dev01 gitosis]$ gitosis-init < /tmp/id_rsa_yuan.pub
10 Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
11 Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
12
13 #進入自己設置的git倉庫路徑
14 # cd /var/git/
15 [root@dev01 git]# ln -s /home/git/repositories/ repo
16 #改變文件權限
17 [root@dev01 git]# chmod 755 /var/git/repo/gitosis-admin.git/hooks/post-update
18
19 -----------------------
20 回到本機測試一下ssh連接
21 $ ssh git@192.168.250.231
22 ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
23 Connection to 192.168.250.231 closed.
24
25 ##大功告成,說明gitosis生效
- 提交本地工程到服務器
#首先clonegitosis-admin項目到本地
$ git clone git@192.168.250.231:gitosis-admin.git
Cloning into gitosis-admin
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
啊啊
$ git clone git@192.168.250.231:gitosis-admin.git
Cloning into gitosis-admin

remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
#修改查看到gitosis.conf
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = yuan
[group eontime]
writable = costdb \
oryx-editor \
demo/test
members = yuan
#如上所示,分有2個組類型admin和我們自定義的,你可以隨便定義一個組,其實就是個權限集合
#writable意思是,這個權限組有哪幾個項目的寫權限?這里是空格分開,如果太長就換行,例如demo/test的話,就是:
git remote add origin git@gitserver:demo/test.git
members就是有這個權限的組成員了,通過把有權限的開發者的公鑰上傳至keydir
最后將gitosis-admin提交至遠程
#git push remote origin master
ok,一切完成,服務端將同步有一個倉庫了。
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = yuan
[group eontime]
writable = costdb \
oryx-editor \
demo/test
members = yuan
#如上所示,分有2個組類型admin和我們自定義的,你可以隨便定義一個組,其實就是個權限集合
#writable意思是,這個權限組有哪幾個項目的寫權限?這里是空格分開,如果太長就換行,例如demo/test的話,就是:
git remote add origin git@gitserver:demo/test.git
members就是有這個權限的組成員了,通過把有權限的開發者的公鑰上傳至keydir
最后將gitosis-admin提交至遠程
#git push remote origin master
ok,一切完成,服務端將同步有一個倉庫了。