参考资料:

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/

2、安装gitosis

说明:

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

3、秘钥管理

  • 秘钥上传

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

注:

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

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

    注:

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

4、项目测试

  • 在用户主机导出项目管理

    注:
         其中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 所在位置【全路径】。
  • 在开发机上配置项目管理

注:

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

  • 创建项目
     

注:

经常上述创建项目,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服务器

【CentOS】搭建git服务器的更多相关文章

  1. 在CentOS搭建Git服务器 转

    在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公 ...

  2. CentOS搭建Git服务器及权限管理

    声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...

  3. 在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的

    在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa ...

  4. centos 搭建git服务器

    centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...

  5. 自定义Git之使用centos搭建git 服务器

    Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...

  6. Centos搭建 Git 服务器教程

    搭建 GIT 服务器教程 下载安装 git Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服 ...

  7. CentOS 搭建 Git 服务器

    官方文档移步 Git 服务器的搭建 安装 Git #yum install git 创建 Git 专用用户 #useradd git,改密码 #passwd git,切换至 Git 用户 #su gi ...

  8. CentOS搭建git服务器实测

    Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议 1,安装: CentOS/Fedora: yum install git Ubuntu/Debian: ...

  9. CentOS搭建GIT服务器

    安装git # 请确保您切换到了root账户 $ su root $ yum install -y git # 验证是否安装成功 $ git --version # 输出如下内容表示成功: git v ...

  10. centos搭建git服务器(转)

    一:git服务安装 1.安装git相关组件 [root@gitserver ~] yum -y install git 2.创建git用户 [root@gitserver ~] groupadd gi ...

随机推荐

  1. [leetcode]_Remove Nth Node From End of List

    题目:移除linked-list从尾到头的第N个元素 自我思路:因为题目给出的N是从链表尾开始计算的,单链表不存在从子指向父亲的反向指针,因此我先计算链表的整个长度len,然后用len - N来表示正 ...

  2. php根据日期获得星期

    <?php $weekarray=array("日","一","二","三","四",&quo ...

  3. 【转】Spark 体系结构

    原文地址:http://jerryshao.me/architecture/2013/03/29/spark-overview/ 援引@JerryLead的系统架构图作为Spark整体结构的一个 bi ...

  4. public void onItemClick(AdapterView arg0, View view, int position,long arg3)详解【整理自网络】

    参考自: http://blog.csdn.net/zwq1457/article/details/8282717 http://blog.iamzsx.me/show.html?id=147001 ...

  5. 十款基础级WordPress插件

    1.Akismet插件 Akismet是全球最受欢迎的反垃圾插件,专为对抗"博客spam"."评论spam"而生.Akismet是WordPress官方插件之一 ...

  6. jquery.unobtrusive-ajax.js单独的用法

    (插件本身已经减少了人力,如果开始无脑开发,简直就是无能,@Ajax里面哪里帮助类生成的其实就是jquery.unobtrusive的一些特性) jquery.unobtrusive是MVC中出现的j ...

  7. 刀哥多线程之主队列gcd-06-main_queue

    主队列 特点 专门用来在主线程上调度任务的队列 不会开启线程 以先进先出的方式,在主线程空闲时才会调度队列中的任务在主线程执行 如果当前主线程正在有任务执行,那么无论主队列中当前被添加了什么任务,都不 ...

  8. poj 3641 Pseudoprime numbers

    题目连接 http://poj.org/problem?id=3641 Pseudoprime numbers Description Fermat's theorem states that for ...

  9. Java之NIO传输数据

    NIO可谓陈词旧调,不值一提. 但之前都是泛泛而谈, 现在深入应用才知道秘诀所在. 对于SocketChannel有read()与write(),但由于"非阻塞IO"本质, 这二个 ...

  10. go again

    Introducation (1)How to organize go code (2)How to develope go package (3)How to use go tool How to ...