Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器。

  Ubuntu server 版本为12.04

  搭建步骤如下:

  1、更新Ubuntu server

  操作如下:

  $ apt-get update

  $ apt-get upgrade

  如上命令更新并升级系统,防止在安装git过程中,出现部分依赖包没有安装。

  

  2、安装openssh的server和client

  其实通常情况下,Ubuntu server都默认安装了openssh。安装SSH的目的,SSH 协议用于为 Git 提供远程读写操作,是远程写操作的标准服务,ssh可用于远程登录,服务端需要安装openssh-server,客户端需要安装openssh-client。介绍ssh协议是因为gitolite以及gitosis都是基于ssh公钥认证的。

  安装openssh之前,可以先查看是否安装过

  $ ps -ef | grep ssh

  如果没有,就继续如下安装步骤,

  $ sudo apt-get install openssh-server openssh-client

  

  3、安装git

  $ sudo apt-get install git-core  

  安装完毕即可!

  4、配置git用户

  在Ubuntu Server上新增一个git用户,用于为安装gitosis做准备

  $ sudo adduser --system --shell /bin/bash --group git  // 创建用户 git,并设置用户的 shell 为可登录的 shell,如 /bin/bash,同时添加同名的用户组。

  $ sudo adduser git ssh  // 有的系统,只允许特定的用户组(如 ssh 用户组)的用户才可以通过 SSH 协议登录,这就需要将新建的 git 用户添加到 ssh 用户组中。

  $ sudo passwd git  // 为 git 用户设置口令。

  $ ssh-copy-id git@server  // 管理员在客户端使用下面的命令,建立无口令登录。 

  5、创建git Server的仓库存储

  $ sudo mkdir /home/git/repositories  // 创建git仓库存储目录

  $ sudo chown git:git /home/git/repositories  // 设置只允许git用户才能访问此目录

  $ sudo chmod 755 /home/git/repositories  // 设置目录访问的可读写或执行的权限

  初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一 台客户端机器上使用git,第一次需要初始化一下:

  $ git config --global user.name "name"       // 例如:james

  $ git config --global user.email "name@server"   // 例如:james@yahoo.com

  

  6、获取Gitosis,并安装

  Gitosis 就是一套用来管理 authorized_keys文件和实现简单连接限制的脚本。简单地说,Gitosis就是git的权限策略控制器。  

  因为Gitosis源码安装方式通过python方式,所以这里要检测是否安装了python的setup tool,没有即安装此工具, 这个也是为了gitosis做准备:

  $ sudo apt-get install python-setuptools

  去到一个临时目录

  $ cd /tmp

  $ git clone https://github.com/res0nat0r/gitosis.git  // 下载Gitosis的源代码

  $ cd /tmp/gitosis

  $ sudo python setup.py install

  

  说明:Gitosis有一个改进的升级版Gitolite,这里以安装Gitosis为标准,所以不对Gitolite介绍。Gitosis安装完之后,即Git服务器就安装完成,接下来,需要为Git设置一个管理员,通过Gitosis初始化之后,才能正常使用Git作为版本控制进行相关版本管理。

  下一节,将详细描述通过创建Git管理员来初始化Git Server,并详细描述Git在Windows下作为客户端如何使用。

  

  

  

  

  

  

  

Ubuntu server 搭建Git server的更多相关文章

  1. Ubuntu server 搭建Git server【转】

    转自:http://www.cnblogs.com/candle806/p/4064610.html Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客 ...

  2. # 基于Gitolite搭建Git Server - 支持SSH&HTTP

    Git, 一个分布式的版本管理工具,我认为其革命性的点:在于改变了用户协作的方式,使得协作更简单. 下面讲述 使用一个开源软件 Gitolite搭建一个Git Sever, 并给了一个推荐的团队协助方 ...

  3. 搭建Git Server

    windows上如何搭建Git Server   Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用.那么私有 ...

  4. 在windows上搭建git server Gitblit

    在Windows上搭建Git Server   第1步:下载Java并安装Java.我这里下载的是jdk1.7.0_79 第2步:配置Java环境变量 右键” 计算机” => ”属性” => ...

  5. ubuntu下搭建node server的几个坑

    [ubuntu下搭建node server的几个坑] 1.环境变量 process.env.PORT需要使用 export PORT=80设置 windows下是set PORT=80 2.命令连结 ...

  6. 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)

    用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器   现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...

  7. Ubuntu上搭建Git服务器

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

  8. 用gitolite搭建git server

    在Ubuntu上测试安装一下git server,为后面项目的代码管理做准备.记录流水账如下, 中间关于git 命令的使用说明不做过多解释,需要了解的请google或者直接git help: 我用到了 ...

  9. windows上如何搭建Git Server

    Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用.那么私有项目,如何用Git进行代码版本控制呢?我们可以自己 ...

随机推荐

  1. Java多线程死锁的产生实例

    死锁产生的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用.(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放.(3) 不剥夺条件:进程已获得的资源,在末使用完 ...

  2. ThinkPHP提交表单判断上传图片经验总结

    在用TP框架开发程序处理接收到的表单的时候,要判断<input type="file" name="img">是否有上传图片,来决定是否要将对应的图 ...

  3. C# 正则表达式测试工具与分享窗体自适应类

    放假刚回来,自己打算写一个正则表达式的测试工具,因为上次在网上用的一个在线正则表示测试工具就 没有很好的服务自己的,所以才有了现在的想法,想写一个C#开发者用的正则表达式测试工具!期间由于最大化时控件 ...

  4. [Leetcode][JAVA] Word Ladder

    Given two words (start and end), and a dictionary, find the length of shortest transformation sequen ...

  5. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  6. Web程序的桌面提醒

    做web开发常会面对的一个问题是,浏览器最小化的时候如何才能向用户发送通知.解决办法大概有三种:让用户有事没事儿搂两眼页面:开发一个桌面客户端:Html5的Notification API. 目前没看 ...

  7. C#自学系列 - 开篇

    2014年即将过去,这一年我参加了不少面试,被问到了很多问题.回来总结下发现自己确实在基础方面有着很多的不足,还有很多东西是我不知道的.遂在下半年购入书籍若干,并系统的加以学习.我目前在看的书是Jon ...

  8. 辐射4 中文武器命名方法, 不用winhex, 直接游戏内操作

    参考资料:https://www.reddit.com/r/fo4/comments/3t354b/tip_you_can_add_text_formatting_italic_underline/h ...

  9. servlet--转向forward与重定向

    当使用forward形式跳转servlet时,地址栏会显示跳转前的servlet访问地址. 跳转是在服务端实现的,客户浏览器并不知道该跳转动作. forward可以跳转到另一个servlet,jsp, ...

  10. jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...