【CentOS】搭建git服务器

参考资料:

         https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md

         http://blog.csdn.net/meiyusong/article/details/7411480

1、安装git

2、安装gitosis

3、秘钥管理

4、项目测试

 

 

1、安装git

git下载地址:http://code.google.com/p/git-core/ 

image

 

2、安装gitosis

说明:

        Gitosis 就是一套用来管理 authorized_keys 文件和实现简单连接限制的脚本。有趣的是,用来添加用户和设定权限的并非通过网页程序,而只是管理一个特殊的 Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略。Gitosis 的工作依赖于某些 Python 工具,所以首先要安装 Python 的 setuptools 包,在 Ubuntu 上称为 python-setuptools:

   image

 

3、秘钥管理

  • 秘钥上传

      在用户主机上生成公钥密码,然后上传到服务器:(其中192.168.100.202为服务器IP,根据实际情况可进行更改,/tmp为服务器文件)

image

注:

     以上是两种上传秘钥到服务器的方法

 

  • 服务器创建git用户,并初始化gitosis
    image
    注:

     useradd创建git用户,-c是注释,-d 是默认用户的目录

 

4、项目测试

  • 在用户主机导出项目管理
    image
    注:
         其中zgit是服务器IP地址的别名,例如服务器IP地址为192.168.100.202。
      如果出现错误 fatal: '~/gitosis-admin.git' does not appear to be a git repository
      fatal: The remote end hung up unexpectedly,则改成 sudo git clone git@YOUR_SERVER:/home/git/repositories/gitosis-admin.git
      即  gitosis-admin.git 所在位置【全路径】。

 

  • 在开发机上配置项目管理 image

注:

        进行如上的git push之后,可以看到服务器主机中/home/git/repositories/gitosis-admin.git/gitosis.cof文件内容已发生相应的变化

 

  • 创建项目
     image

   注:

         经常上述创建项目,push到服务器之后,可以再服务器的/home/git/repositories/test-git 查看到用户创建的项目

  • clone项目
    另外新建一个文件夹,然后clone服务器的项目:

git clone git@125.216.231.190:/home/git/repositories/test-git.git  clone服务器中test-git项目时会出现如下错误:

ERROR:gitosis.serve.main:Repository read access denied

解决办法:

       不使用全路径:git clone git@125.216.231.190:test-git即可(test-git为项目名称)

 

  • 多人开发配置——增加协同开发者的公钥key到git服务器

   image

posted @ 2014-05-05 22:59  罗松超  阅读(984)  评论(0编辑  收藏  举报