(二) Git 管理员(git bash下运行)
1.安装msysgit,
下载地址:
缺省安装。
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服务器吧。