CentOs上搭建git服务器
CentOs上搭建git服务器
首先安装setuptools
- wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
- tar zxvf setuptools-0.6c11.tar.gz
- cd setuptools-0.6c11
- python setup.py build
- python setup.py install
在服务器(CentOs)上首先安装git软件
- yum insatll git
安装gitosis
- git clone git://github.com/res0nat0r/gitosis.git
- cd gitosis
- 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服务器的更多相关文章
- 在centos上搭建Git服务器
第一步:先安装一些相关依赖库和编译工具 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum in ...
- Ubuntu上搭建Git服务器
下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01. 1.安装OpenSSH并配置SSH无 ...
- centos上搭建git服务--3
前言:当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,GIT就是一个很好的选择.当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭 ...
- 如何在服务器上搭建git服务器
参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...
- centos上搭建git服务--2
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.window ...
- centos上搭建git服务--4
Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...
- 【CentOS】搭建git服务器
参考资料: https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md http://blo ...
- Centos上搭建git服务
1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...
- Centos 7 搭建git服务器及使用gitolite控制权限
一.安装git yum install git git --version #查看git版本 二.升级git(可选,如果之前已经安装git,需要升级git到最新版本) git clone https: ...
随机推荐
- MySql存储过程—2、第一个MySql存储过程的建立
看看如何创建一个存储过程.虽然通过命令行可以创建,但基本通过MySQL提供的Query browser来创建. 1.首先我们通过Administrator在test数据库中创建一个简单的表名叫”pro ...
- sql 语句左连接右连接小例子
A表(a1,b1,c1) B表(a2,b2) a1 b1 c1 a2 b2 01 数学 95 01 张三 02 语文 90 02 李四 03 英语 80 04 王五 select A.*,B.* fr ...
- Erget 显示对象
核心显示类: 类 描述 DisplayObject 显示对象基类,所有显示对象均继承自此类 Bitmap 位图,用来显示图片 Shape 用来显示矢量图,可以使用其中的方法绘制矢量图形 TextFie ...
- STM32库中 __IO 修饰符(volatile修饰符)
STM32例子代码中会有像这样的代码 static __IO uint32_t TimingDelay; 这里边的__IO修饰符不好理解,单从字面可以看出是为IO相关,查其标准库可以得知这个__IO原 ...
- Matrix(线段树版)
poj2155:http://poj.org/problem?id=2155 题意;同上一遍随笔. 题解:这里用二维线段树打了一发.第一次学习别人的代码.才学的.这种树套树的程序,确实很费脑子,一不小 ...
- Xamarin.Forms本地化多语言
Forms 右键新建文件夹 Localization 新建文件TranslateExtension.cs namespace Localization { /// <summary> // ...
- appendGrid的使用
新的项目中需要使用类似appendGrid的控件,当然开始时是不知道这个控件的,开始是想做成如下这样 这其实是Bugfree的搜索栏,并且我也说不好我要做的这个东西应该叫什么,大体可以说是动态的添加或 ...
- Pascal's Triangle II —LeetCode
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...
- python模块管理
参考python的模块管理,请看如下 http://blog.sina.com.cn/s/blog_90bc5fc6010159e0.html http://hi.baidu.com/billsche ...
- 线段树解Insertion Sort Advanced Analysis
题目出处 题意描述: 这个题目提问的是,在插入排序的序列给定的情况下,求最少需要移动的次数. 序列的长度n <=10^5 序列中的元素a[i] <=10^6 一组数据中case数t < ...