手机版
你好,游客 登录 注册
背景:
阅读新闻

Git服务器在Ubuntu中的搭建

[日期:2011-05-07] 来源:Linux社区  作者:wirror800 [字体: ]

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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款