此文件是依据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$
- 浏览: 146008 次
- 性别:
- 来自: 北京
最新评论
-
46311875:
SB。 搞得那么复杂。哈哈
html5单页面应用程序之历史记录控制 -
李俊良:
正准备处理移动版本的兼容,貌似移动端的用纯web做的比较少
瀑布流网站记录 -
wolf199103:
花瓣网:http://huaban.com/鼻祖Pintere ...
瀑布流网站记录 -
firstfall:
BuN_Ny 写道最近很不喜欢这种只贴代码的帖子。总觉得是想表 ...
前端js也能写算法 -
Sky_YiBai:
楼主,可不可以把帖子重新编辑下,别光写代码呢。。。写点思路之类 ...
前端js也能写算法
相关推荐
完全学会Git、GitHub、Git Server的24堂课
非常方便,快捷搭建Git Web服务器,完全是免费,配置好IIS就可以访问。在局域网内使用自己的Git服务器,简单快捷地分配账号。与Github类似的用法,但完全是免费私密的。适用于公司、小团队、个人开发非开源项目使用...
完全学会git github gitserver的24堂课。介绍仓库git的操作和知识
本教程将详细介绍如何在Windows Server 2008 R2操作系统上使用Gitblit搭建Git服务器。 首先,你需要准备以下两个主要组件: 1. Java Development Kit (JDK):Gitblit依赖于Java环境运行,因此需要安装JDK。在本...
Git Server安装部署详解 Git是当今最流行的分布式版本控制系统,广泛应用于软件开发团队协作和代码管理。而Git Server则是提供Git服务的服务器端程序,它允许开发者通过网络进行代码的推送、拉取和同步。本篇文章将...
GitServer.zip是一个包含资源的压缩包,主要用于指导用户如何搭建和使用Bonobo Git Server,一个专为小型团队设计的轻量级Git服务器。这个压缩包里不仅提供了Bonobo Git Server的安装程序,还包含了相关教程、Git...
Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...
搭建Git Server环境是创建一个中央化的版本控制系统,用于在团队中协作开发软件或管理文件。以下是如何在Linux系统上按照步骤来完成这个过程的详细解释: 1. **安装Git**: 在Linux服务器上,首先确保系统已经安装...
【企业级Git Server服务的部署与应用】 随着开源的广泛普及,Git作为版本控制系统在开发者、团队和企业中被广泛应用。尽管有许多免费的Git托管服务商,如GitHub、GitLab和Bitbucket,但出于对源代码安全性的考虑,...
《Bonobo.Git.Server:构建本地Git服务器的全方位指南》 Bonobo.Git.Server是一款开源的应用程序,专为Windows环境设计,用以搭建和管理本地Git服务器。它提供了直观的Web界面,使得团队协作和代码版本控制变得...
【Bonobo Git Server服务器】是一种基于.NET框架的开源Git服务器,设计用于在本地环境中搭建团队代码管理服务。它提供了一个用户友好的Web界面,使得团队成员可以方便地进行Git仓库的创建、访问、管理和协作。这个...
Bonobo Git服务器 感谢您下载Bonobo Git Server。 有关更多信息,请访问 。先决条件Internet信息服务7及更高版本 Windows Vista SP2,Windows 7,Windows 8及更高版本Windows Server 2008 R2,Windows Server 2008 ...
完全学会GIT GITHUB GIT SERVER的24堂课
使用Bonobo Git Server配置本地git服务器,实践过的操作笔记。一看就会
在“Git Server搭建手册v1.0.pdf”中,你将找到详细的步骤、配置示例和可能遇到的问题解决方案,这将帮助你顺利搭建并管理自己的Git服务器。无论你是初学者还是经验丰富的开发者,这份手册都将是你宝贵的参考资料。...
windows版git服务器软件 openssh git for windows欢迎大家下载
在Git的使用过程中,有时可能会遇到git server“丢失”commit的问题,这往往会给开发团队带来困扰,因为丢失的commit可能包含重要的代码更改。本篇文章主要分析了这种情况的原因和解决策略。 1. **问题现象** 当某...
git clone git@your_server:gitolite-admin.git ``` - 修改`gitolite-admin`仓库中的`gitolite.conf`文件,添加新的仓库及其权限配置。 ```bash # 在文件末尾添加如下内容 repo jd RW+ = @all ``` - 提交...
git remote add origin http://yourserver.com/git/yourrepo.git ``` 2. 将本地仓库推送到远程仓库: ``` git push -u origin --all ``` 七、协同开发与版本管理 1. 开发者可以从远程仓库克隆代码: ``` git...