`
李俊良
  • 浏览: 146008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

git server

 
阅读更多

此文件是依据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$

分享到:
评论

相关推荐

    完全学会Git、GitHub、Git Server的24堂课

    完全学会Git、GitHub、Git Server的24堂课

    Bonobo Git Server 5.2.0(ASP.NET MVC Git服务器)

    非常方便,快捷搭建Git Web服务器,完全是免费,配置好IIS就可以访问。在局域网内使用自己的Git服务器,简单快捷地分配账号。与Github类似的用法,但完全是免费私密的。适用于公司、小团队、个人开发非开源项目使用...

    完全学会git github gitserver的24堂课

    完全学会git github gitserver的24堂课。介绍仓库git的操作和知识

    使用Gitblit 在Windows2008 r2上部署Git Server(完整版).docx

    本教程将详细介绍如何在Windows Server 2008 R2操作系统上使用Gitblit搭建Git服务器。 首先,你需要准备以下两个主要组件: 1. Java Development Kit (JDK):Gitblit依赖于Java环境运行,因此需要安装JDK。在本...

    git server安装部署包

    Git Server安装部署详解 Git是当今最流行的分布式版本控制系统,广泛应用于软件开发团队协作和代码管理。而Git Server则是提供Git服务的服务器端程序,它允许开发者通过网络进行代码的推送、拉取和同步。本篇文章将...

    GitServer.zip

    GitServer.zip是一个包含资源的压缩包,主要用于指导用户如何搭建和使用Bonobo Git Server,一个专为小型团队设计的轻量级Git服务器。这个压缩包里不仅提供了Bonobo Git Server的安装程序,还包含了相关教程、Git...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...

    搭建git server环境

    搭建Git Server环境是创建一个中央化的版本控制系统,用于在团队中协作开发软件或管理文件。以下是如何在Linux系统上按照步骤来完成这个过程的详细解释: 1. **安装Git**: 在Linux服务器上,首先确保系统已经安装...

    企业级Git Server服务的部署与应用1

    【企业级Git Server服务的部署与应用】 随着开源的广泛普及,Git作为版本控制系统在开发者、团队和企业中被广泛应用。尽管有许多免费的Git托管服务商,如GitHub、GitLab和Bitbucket,但出于对源代码安全性的考虑,...

    Bonobo.Git.Server

    《Bonobo.Git.Server:构建本地Git服务器的全方位指南》 Bonobo.Git.Server是一款开源的应用程序,专为Windows环境设计,用以搭建和管理本地Git服务器。它提供了直观的Web界面,使得团队协作和代码版本控制变得...

    bonobo_git_server服务器

    【Bonobo Git Server服务器】是一种基于.NET框架的开源Git服务器,设计用于在本地环境中搭建团队代码管理服务。它提供了一个用户友好的Web界面,使得团队成员可以方便地进行Git仓库的创建、访问、管理和协作。这个...

    Bonobo-Git-Server:Windows的Bonobo-Git Server是一个Web应用程序,您可以将其安装在IIS上,并轻松管理和连接到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堂课.rar

    完全学会GIT GITHUB GIT SERVER的24堂课

    使用Bonobo Git Server配置本地git服务器

    使用Bonobo Git Server配置本地git服务器,实践过的操作笔记。一看就会

    Git Server搭建手册v1.0.zip_cost5zi_git

    在“Git Server搭建手册v1.0.pdf”中,你将找到详细的步骤、配置示例和可能遇到的问题解决方案,这将帮助你顺利搭建并管理自己的Git服务器。无论你是初学者还是经验丰富的开发者,这份手册都将是你宝贵的参考资料。...

    git,gitserver,windows git server

    windows版git服务器软件 openssh git for windows欢迎大家下载

    浅析git server“丢失”commit问题

    在Git的使用过程中,有时可能会遇到git server“丢失”commit的问题,这往往会给开发团队带来困扰,因为丢失的commit可能包含重要的代码更改。本篇文章主要分析了这种情况的原因和解决策略。 1. **问题现象** 当某...

    搭建git服务器

    git clone git@your_server:gitolite-admin.git ``` - 修改`gitolite-admin`仓库中的`gitolite.conf`文件,添加新的仓库及其权限配置。 ```bash # 在文件末尾添加如下内容 repo jd RW+ = @all ``` - 提交...

    git创建服务器端

    git remote add origin http://yourserver.com/git/yourrepo.git ``` 2. 将本地仓库推送到远程仓库: ``` git push -u origin --all ``` 七、协同开发与版本管理 1. 开发者可以从远程仓库克隆代码: ``` git...

Global site tag (gtag.js) - Google Analytics