CentOs上搭建git服务器

首先安装setuptools

  1. wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
  2. tar zxvf setuptools-0.6c11.tar.gz
  3. cd setuptools-0.6c11
  4. python setup.py build
  5. python setup.py install

在服务器(CentOs)上首先安装git软件

  • yum insatll git

安装gitosis

  1. git clone git://github.com/res0nat0r/gitosis.git
  2. cd gitosis
  3. python setup.py install

添加用户git

sudo useradd -r -s /bin/sh -c 'git version control' -d /home/git git

设置权限

mkdir -p /home/git

chown git:git /home/git

ssh登陆验证

  • cat kailuzhe_rsa.pub >> authorized_keys authorized_keys存在,追加
  • mv kailuzhe_rsa.pub authorized_key authorized_keys不存在,改名

生成公钥

  • ssh-keygen -t rsa

上传公钥

  • scp ~/.ssh/id_rsa.pub USER@YOUR_SERVER:/tmp

在服务端生成管理库

  • sudo -H -u git gitosis-init < /tmp/id_rsa.pub

看到如下提示说明安装成功

Initialized empty Git repository in /var/spool/gitosis/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /var/spool/gitosis/repositories/gitosis-admin.git/

修改上传权限

  • chmod 755 /var/spool/gitosis/repositories/gitosis-admin.git/hooks/post-update

同步配置文件

  • git clone git+ssh://git@118.123.16.30:22000/gitosis-admin.git

创建新的repositories

打开gitosis.conf文件,你将看到

[group gitosis-admin]

writable = gitosis-admin

members = nasa127@localhost

这个是管理组的权限,members中的用户名就是刚才上传的公钥里面的用户名。 在这个文件后面加入:

[group myteam]

members = nasa127@localhost

writable = diablo3_spider

这里你定义了一个叫myteam的组,授予nasa127@localhost这个用户写“diablo3_spider”这个repo的权限

git commit -a -m "Allow nasa write access to diablo3_spider"

git push

上面的操作就更新了服务端的权限。 下面就开始创建diablo3_spider的repo

mkdir diablo3_spider

cd diablo3_spider

git init

随便加一些文件提交代码:

git remote add origin git@YOUR_SERVER_HOSTNAME:diablo3_spider.git

git add .

git commit -a -m "initial import"

git push origin master:refs/heads/master

接下来,可以增加成员的公钥到系统中了

cd gitosis-admin

cp ~/Administrator@SUNPX-PC.pub keydir/

cp ~/tongzhongqian@localhost.pub keydir/

git add keydir/Administrator@SUNPX-PC.pub keydir/tongzhongqian@localhost.pub

修改gitosis.conf

[group fractalist]

members = nasa127@localhost Administrator@SUNPX-PC tongzhongqian@localhost

writable = GTFund-iPad

提交修改:

git commit -a -m "Granted sunpx and qtz commit rights to diablo3_spider"

git push

其它成员就可以获取代码了

git clone git@YOUR_SERVER:diablo3_spider.git

其他

对Git设置端口号

git+ssh://git@YOUR_SERVER:PORT/GTFund-iPad.git

git remote add origin git+ssh://git@YOUR_SERVER:PORT/GTFund-iPad.git

参考文档

  • http://blog.prosight.me/index.php/2009/07/271
  • http://blog.chinaunix.net/uid-26337130-id-3027600.html
  • https://github.com/res0nat0r/gitosis#using-gitweb
  • http://www.jiangmiao.org/blog/1600.html
  • http://hi.baidu.com/unspace/blog/item/81cef0d33db0f3c0a9ec9ab0.html
  • http://code.google.com/p/tortoisegit/

来自:http://www.cnblogs.com/nasa/archive/2012/05/31/2528901.html

自己添加的链接:

http://git-scm.com/book/zh/ch4-7.html

http://blog.csdn.net/king_sundi/article/details/7065525

CentOs上搭建git服务器的更多相关文章

  1. 在centos上搭建Git服务器

    第一步:先安装一些相关依赖库和编译工具 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum in ...

  2. Ubuntu上搭建Git服务器

    下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01. 1.安装OpenSSH并配置SSH无 ...

  3. centos上搭建git服务--3

    前言:当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择.当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭 ...

  4. 如何在服务器上搭建git服务器

    参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...

  5. centos上搭建git服务--2

    在 Linux 下搭建 Git 服务器   环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.window ...

  6. centos上搭建git服务--4

    Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...

  7. 【CentOS】搭建git服务器

    参考资料: https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md http://blo ...

  8. Centos上搭建git服务

    1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...

  9. Centos 7 搭建git服务器及使用gitolite控制权限

    一.安装git yum install git git --version #查看git版本 二.升级git(可选,如果之前已经安装git,需要升级git到最新版本) git clone https: ...

随机推荐

  1. centos 下搭建 php环境(1)

    3.PHP的安装 安装GD库(让PHP支持GIF,PNG,JPEG) 首先下载 jpeg6,libpng,freetype 并安装模块 wget http://www.ijg.org/files/jp ...

  2. Unity扩展编辑器--类型3:Custom Editors

    Custom Editors 加速游戏制作过程的关键是为哪些频繁使用的组件创建自定义的编辑器,为了举例,我们将会使用下面这个极其简单的脚本进行讲解,它的作用是始终保持一个对象注视某一点. public ...

  3. centos 安装 mongo3.0

    官方网站传贴,每次去翻doc,麻烦 vi  /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0]name=MongoDB Repository ...

  4. python 深拷贝和浅拷贝浅析

    简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象.id会变化2. copy.deepcopy 深拷贝 拷贝对象及其子对象.id会变化 >>> im ...

  5. 运行Capture.exe找不到cdn_sfl401as.dll

    今天运行capture Orcad16.6显示缺少cdn_sfl401as.dll,昨天运行时并没有发现这种情况,回想今天安装了modelsim之后才发生这种情况,于是将modelsim卸载掉,再次启 ...

  6. 转:nginx防DDOS攻击的简单配置

    文章来自于: 近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module. ...

  7. 7月12日至芯FPGA就业班招生

    至芯科技FPGA就业培训班将于2014年7月12日正式开班,届时至芯科技将秉承着一贯的教学传统,为广大师生打造一个专业的技术平台和轻松的学习环境. 在夏宇闻教授的带领下,至芯科技汇聚了一批来自国内外大 ...

  8. SPSS基础操作

    1.数据--排序个案(按行排序),排序变量是按列排序2.现有一文件两列,销售地区(字符串或者数字)和业绩,想按地区划分文件,可以排序个案(按销售地区),也可以选择“数据--拆分文件”(注意还是在一个文 ...

  9. 【转】byte[]数组比较(内容比较)--不错

    原文网址:http://amanda.blog.51cto.com/7238262/1215118 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责 ...

  10. Java学习日记-10 集合

    集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能 ...