CentOS 6.4 搭建git 服务器
CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼
标签: it 分类: Linux
此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器系统版本 ```
cat /etc/redhat-release # 查看系统版本 CentOS release 6.4 (Final) ifconfig # 查看服务器的IP
eth0
Link encap:Ethernet HWaddr 00:23:8B:FA:78:92
inet addr:192.168.100.202 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::223:8bff:fefa:7892/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:543645 errors:0 dropped:0 overruns:0 frame:0
TX packets:157155 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:383527379 (365.7 MiB) TX bytes:13270106 (12.6 MiB)
Interrupt:16 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) ``` 2.在服务器上安装git及做些操作 - 执行命令
`
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
`
- 同时下载git-1.8.2.2.tar.gz文件,然后将其`mv` 到`/usr/local/src`目录。[git-1.8.2.2.tar.gz安装包下载地址][1] ```
cd /usr/local/src
sudo tar -zvxf git-1.8.2.2.tar.gz
cd git-1.8.2.2 sudo make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install ``` - 增加软连接
```
sudo ln -s /usr/local/git/bin/* /usr/bin/ git --version #如果能显示版本号,即表示成功` ``` 3.在服务器安装gitosis
```
sudo yum install python python-setuptools cd /usr/local/src git clone git://github.com/res0nat0r/gitosis.git cd gitosis python setup.py install #显示Finished processing dependencies for gitosis==0.2即表示成功 ``` 4.在开发机上,生产密钥并上传到服务器上
```
ssh-keygen -t rsa #一路回车,不需要设置密码 #上传公钥到服务器(默认SSH端口22)
scp ~/.ssh/id_rsa.pub tailin@192.168.100.202:/tmp
``` 或编辑`/etc/hosts`文件,在`/etc/hosts`文件里添加如下文本:
```
# local git server
192.168.100.202 zgit
```
然后再上传自己的公钥到服务器
```
scp ~/.ssh/id_rsa.pub tailin@zgit:/tmp/ # 登录到git服务器
ls /tmp/id_rsa.pub #显示已经上传的密钥 ``` 5.服务器上生成git用户,使用git用户并初始化`gitosis` ```
# 创建git版本管理用户 git
sudo useradd -c 'git version manage' -m -d /home/git -s bin/bash git # 更改git用户的密码
sudo passwd git # su 到git用户
su - git
gitosis-init < /tmp/id_rsa.pub #显示以下信息即表示成功
#Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ #删除密钥
rm -rf /tmp/id_rsa.pub ``` 6.在个人开发机上导出项目管理
```
mkdir -p /repo
cd /repo
git clone git@zgit:gitosis-admin.git ``` 7.在个人开发机增加及设置管理项目
```
cd /repo/gitosis-admin # 查看git服务器已经上传密钥
ls keydir cat keydir/ltl@jackliu-ThinkPad.pub #ltl@jackliu-ThinkPad.pub为已经上传的开发机生成的公密 #显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad
vim gitosis.conf #在文件尾增加以下内容 [group test-git] # 具有写权限的组名称
writable = test-git # 该组可写的项目名称
members = ltl@jackliu-ThinkPad guangyun.ni@yeepay.com #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔 # 如果要增加只读的组 参考如下
# [group test-git-readnoly] # 具有都权限的组名称
# readonly = test-git # 该组只读的项目名称
# members = ltl@jackliu-ThinkPad # 该组的成员 #提交修改
git add .
git commit -a -m "add test-git repo"
git push ``` 8.在个人开发机上初始,增加及使用项目test-git ```
cd ~/repo mkdir test-git cd test-git git init touch readme git add . git commit -a -m "init test-git" git remote add origin git@zgit:test-git.git git push origin master ``` 9.增加协同开发者的公钥key到git服务器 - 执行`cd repo/gitosis-admin/keydir`切换目录 - 把协同开发者的id_rsa.pub 文件里的数据 拷贝到 对应的开发者的`密钥用户名.pub`文件。如把密钥用户名 guangyun.ni@yeepay.com 的 id_rsa.pub 文件中文本 粘贴到 guangyun.ni@yeepay.com.pub 文件里,并保存 - 然后将添加数据后的目录更新到git服务器 ``` git add .
git commit -am "add guangyun.ni@yeepay.com.pub file"
git push origin master ``` 本文档参考:
[CentOS git搭建参考1][2],
[CentOs上搭建git服务器][3] [1]: http://code.google.com/p/git-core
[2]: http://blog.sina.com.cn/s/blog_86fe5b440101975o.html
[3]: http://www.cnblogs.com/nasa/archive/2012/05/31/2528901.htmljackliu@jackliu-ThinkPad:~/workspace/recipes/doc/linux$
CentOS 6.4 搭建git 服务器的更多相关文章
- Centos 6.4搭建git服务器【转】
前阵子公司需要,让我搭个Git服务器,把之前用的SVN上代码迁移到git上去,所以就在阿里云主机上搭了一个,记录了下安装过程,留存文档以备查阅.本篇本章只涉及搭建部分的操作,更多git的使用可以参考文 ...
- 在CentOS 7中搭建Git服务器
环境说明 - CentOS 7.x 最小安装 - 配置网络连接 1. 安装Git及创建用户 # 安装Git $ yum install git # 创建一个git用户组和用户,用来运行git服务 $ ...
- 自定义Git之使用centos搭建git 服务器
Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1 ...
- centos 搭建git服务器
centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...
- 在CentOS搭建Git服务器 转
在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公 ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- CentOS搭建Git服务器及权限管理
声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...
- 搭建 Git 服务器(基于 CentOS 7)
服务器上的-Git-架设服务器-官网参考 对于规模比较小的团队,可以直接搭建 Git 服务器,逐个收集研发同学的证书配置进来即可.如果团队规模比较大,可以直接采用 GitLab.Drone 等现成的带 ...
- 在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的
在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa ...
随机推荐
- 字符串哈希函数(String Hash Functions)
哈希函数举例 http://www.cse.yorku.ca/~oz/hash.html Node.js使用的哈希函数 https://www.npmjs.org/package/string-has ...
- C/C++宏中#与##的讲解
http://www.cnblogs.com/morewindows/archive/2011/08/18/2144112.html
- Redis学习——环境搭建以及基础命令使用
0. 前言: 这篇文章旨在对redis环境的搭建以及对redis有个大概的认识. 一.redis搭建: 环境:ubuntu 14 软件包:redis-3.0.3.tar.gz 安装步骤: 1. 首先解 ...
- CSS3新增基础属性总结——20160409(易达客)
1.box-shadow :h-shadow v-shadow blur spread color inset(outset) h-shadow:必须:水平阴影位置,允许负值. v-shadow:必须 ...
- Python开发【第十一篇】:JavaScript
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...
- java中跳出if判断
今天学到的一点儿新东西一个if判断里面有好多东西,紧接着还有其他代码,不能使用return来结束这个if判断这时候,就需要这样: out:if (!"null".equals(re ...
- 【struts2】Result和ResultType
简单的说,Result是Action执行完后返回的一个字符串,它指示了Action执行完成后,下一个页面在哪里.Result仅仅是个字符串,仅仅是用来指示下一个页面的,那么如何才能够到达下一个页面呢? ...
- 50多条mysql数据库优化建议
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的.在非群集索引下,数据在物理上随机存 ...
- 导航菜单:jQuery粘性滚动导航栏效果
粘性滚动是当导航在滚动过程中会占粘于浏览器上,达到方便网站页面浏览的效果,也是一种用户体验,下面我们看一下是怎么实现的: jQuery的 smint插件,也是一个导航菜单固定插件.当页滚动时,导航菜单 ...
- 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客
序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...