一、确保你有管理员权限。
如果你还不是管理员,请让当前管理员编辑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