一、確保你有管理員權限。
如果你還不是管理員,請讓當前管理員編輯gitosis-admin項目下的gitosis.conf文件,在[group gitosis-admin]下的members行裏添加你的名字。
二、把gitosis-admin項目clone下來
三、現在我們來添加一個新項目。爲此我們要建立一個名爲 mobile
的新段落,在其中羅列手機開發團隊的開發者,以及他們擁有寫權限的項目。由於
'scott' 是系統中的唯一用戶,我們把他設爲唯一用戶,並允許他讀寫名爲 iphone_project
的新項目:
所以,我們編輯gitosis.conf並增加如下行:
[group mobile] members = scott writable = iphone_project
修改完之後,提交 gitosis-admin
裏的改動,並推送到服務器使其生效:
$ git commit -am 'add iphone_project and mobile group' [master 8962da8] add iphone_project and mobile group 1 file changed, 4 insertions(+) $ git push origin master Counting objects: 5, done. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 272 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@gitserver:gitosis-admin.git fb27aec..8962da8 master -> master
四、進入到我們將要提交的本地項目目錄,git init創建倉庫,並增加.gitignore文件(用touch .gitignore命令),編輯.gitignore文件,寫上要忽略同步的文件,
比如我的是android工程,我的.gitignore文件內容爲:
/gen
/bin
.gitignore
然後就是 add 跟commit了
五、提交到遠程倉庫
在新工程 iphone_project
裏首次推送數據到服務器前,得先設定該服務器地址爲遠程倉庫。但你不用事先到服務器上手工創建該項目的裸倉庫— Gitosis 會在第一次遇到推送時自動創建:
$ git remote add origin git@gitserver:iphone_project.git $ git push origin master Initialized empty Git repository in /opt/git/iphone_project.git/ Counting objects: 3, done. Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@gitserver:iphone_project.git * [new branch] master -> master
參考:http://my.oschina.net/liseor/blog?disp=2&p=2
http://www.cnblogs.com/xilinch/p/3370001.html