Git服务器在Ubuntu中的搭建(3)

(二)   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服务器吧。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywfxd.html