Git服务器在Ubuntu中的搭建
?
(二) ? Git 管理员(git bash下运行)
1.安装msysgit,
??? 下载地址:http://code.google.com/p/msysgit/downloads/list
???? 缺省安装。
?
2.生成服务器管理员公钥。
??? 执行命令ssh-keygen -t rsa,操作时刻参照第一部分第7步,用于提供给服务器端初始化gitosis。
?
3.从服务器?克隆gitosis-admin.git
??? 首先选定目录,如G盘:cd /g/
??? 然后,新建一个目录mkdir gitproject
????git clone git@YOUR_SERVER:gitosis-admin.git
??? (?YOUR_SERVER可以是你的服务器名称或者ip,我这里的ubuntu的ip为192.168.1.102?)
4. 编辑?gitosis.conf
?????cd gitosis-admin
?????你将看到以下文件gitosis.conf和keydir/,gitosis.conf是gitosis的配置文件,用于配置用户和权限,keydir/是所有组成员的
公钥。
???? vi?gitosis.conf,?打开gitosis.conf文件,内容为:
???? [group gitosis-admin]
???? writable = gitosis-admin
???? members =??Administrator@LILIN
???? 这个是管理组的权限,members中的用户名就是刚才上传的公钥里面的用户名。
?????
?????把内容修改为:
???? [gitosis]
???? gitweb = yes
???? [group gitosis-admin]
???? writable = gitosis-admin
???? members = Administrator@LILIN wirror800@192.168.1.102
???? [group apps ]
???? writable = apps
???? members = Administrator@LILIN wirror800@192.168.1.102
???? 其中?gitweb = yes表示启用对gitweb的支持。?这里定义了一个叫apps?的组,授予Administrator@LILIN和wirror800@192.168.1.102
两个用户写“apps?”这个repo的权限
????
?????然后push到服务端后,服务器端就立刻生效。
???? git commit -a -m “created a new repository”
???? git push
???? 这样就?更新了服务端的权限。
?
5.创建一个app的repo
???? mkdir apps
???? cd apps
?????git init
6.创建、编辑 .gitignore ,?用于忽略某些不需要进行代码管理的内容,如rails的应用可能如下:
??? .DS_Store
??? ? log/*.log
??? ? tmp/**/*
??? ? config/database.yml
??? ? db/*.sqlite3
???
7.编辑 .git/description 内容, 加上apps 的说明
8.?提交代码
??? git remote add origin git@YOUR_SERVER:apps.git
???? git add .
???? git commit -am "imitial import"
??? git push origin master:refs/heads/master
9.增加成员的公钥到系统中
??? cd ../gitosis-admin
??? cp member_1.pub keydir/
??? cp member_2.pub keydir/ git
??? add keydir/member_1.pub keydir/member_2.pub
?
??? 修改gitosis.conf,并提交
??? [group apps]
??? - members = wirror800
??? + members = wirror800 member_1 member_2
??? writable = apps
?
??? git commit -a -m "Granted new members commit rights to apps"
??? git push
?
10.?其它成员获取apps的代码
??? git clone git@YOUR_SERVER:apps.git
?
? 在windows下安装git服务器也是可以的,我们开始尝试使用Cygwin来操作,但在使用gitweb的时候遇到困难。git毕竟诞生于
linux,还是建议大家使用linux来搭建git服务器吧。Mr. Zhang也提供了一个可以在windows下安装git服务器的方法,链接地址奉献
给大家:http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/ 。再次感谢CTO Mr. Zhang 这几天
执着的奉献精神,让我受益匪浅。