Ubuntu下Git服务器的搭建与使用指南

一、前言

Git是一款免费、开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。在平时的项目开发中,我们会使用到Git来进行版本控制。

Git的功能特性:

从一般开发者的角度来看,git有以下功能:

1、从服务器上克隆数据库(包括代码和版本信息)到单机上。
2、在自己的机器上创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。关于Git服务器的搭建过程,网上有很多的方法,本文主要是谈谈Git服务器搭建好之后,如何使用以及怎么使用的问题,比如权限设置、跨平台使用等。

PS:对于Git服务器的搭建,本文提供以下链接,以供参考。

Ubuntu完美安装搭建Git服务器  http://www.linuxidc.com/Linux/2015-07/120616.htm

GitHub 教程系列文章: 

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

二、Git服务器操作和使用指南

1、Ubuntu下安装git和使用git服务器

在终端输入sudo apt-get install git命令,安装git

以下截图及步骤均以hesonglin@master这台虚拟机操作为例

Ubuntu下Git服务器的搭建与使用指南

Your Name 和Email随意填写,目的是用来标识git身份

新建一个文件夹如:

Ubuntu下Git服务器的搭建与使用指南

输入git init命令,将此文件夹初始化为一个git仓库(空仓库)

Ubuntu下Git服务器的搭建与使用指南

输入ssh-keygen –t rsa命令生成ssh公钥(出现停顿按回车即可)

Ubuntu下Git服务器的搭建与使用指南

在主文件夹目录下会生成一个.ssh文件夹(若无则按Ctrl +H使之显示)

Ubuntu下Git服务器的搭建与使用指南

在本虚拟机上repository目录下新建一个目录gitadmin用于存放gitosis-admin.git仓库如:

Ubuntu下Git服务器的搭建与使用指南

将Git服务器中gitosis-admin.git仓库clone下来(git@218.108.45.14是我建的Git服务器相应的换成你建的Git服务器即可)

Ubuntu下Git服务器的搭建与使用指南

Clone正确会显示如下信息

Ubuntu下Git服务器的搭建与使用指南

clone下来会有一个gitosis.conf的配置文件和一个keydir的目录。gitosis.conf用于配置用户的权限信息,keydir主要用户存放ssh公钥文件(一般以“用户名.pub”命名,gitosis.conf配置文件中需使用相同用户名),用于服务器认证请求的客户端机器。

将本机器上生成相应的.ssh文件夹中的id_rsa.pub公钥文件,按用户名命名为如hesonglin@master.pub,复制到keydir目录下

Ubuntu下Git服务器的搭建与使用指南

编辑gitosis.conf文件,设置权限

Ubuntu下Git服务器的搭建与使用指南

将本机用户名(如hesonglin@master)添加,并赋予权限

Ubuntu下Git服务器的搭建与使用指南

这些配置的修改只是在本地修改的,还需要推送到服务器中才能生效

Ubuntu下Git服务器的搭建与使用指南

Ubuntu下Git服务器的搭建与使用指南

上述的git add . 和git commit –am “add a user”是保存和提交到本地

Ubuntu下Git服务器的搭建与使用指南

git push origin master表示将上述修改内容推送到Git服务器

推送成功会显示下面提示信息

Ubuntu下Git服务器的搭建与使用指南

至此,Git服务器就有和上述配置的keydir和gitosis.conf一样的信息

如我在Git服务器中已创建好了一个teamwork.git仓库用来管理项目如下图:

Ubuntu下Git服务器的搭建与使用指南

那么,现在就可以在本机上从Git服务器中clone teamwork.git以及做了修改后进行推送到git服务器

首先在本机先创建一个文件夹myrepository

Ubuntu下Git服务器的搭建与使用指南

进入到myrepository下克隆teamwork.git

Ubuntu下Git服务器的搭建与使用指南

得到teamwork.git仓库如下图所示

Ubuntu下Git服务器的搭建与使用指南

现在在本地的teamwork.git仓库中新建readme文件,然后进行提交和推送

Ubuntu下Git服务器的搭建与使用指南

Ubuntu下Git服务器的搭建与使用指南

每当Git服务器中teamwork.git仓库有更新时,可以在本机上通过git pull命令获取最新版本的数据(注意要到teamwork目录内)

Ubuntu下Git服务器的搭建与使用指南

此时本机teamwork.git仓库中就有了其他开发机推送的最新版本的数据(如果其他开发机push了最新数据)。

至此,本虚拟机就可以从Git服务器进行pull和push操作了。

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2015-07/120617p2.htm

Ubuntu下Git服务器的搭建与使用指南
更多相关文章
  • Ubuntu 14.04 下FTP服务器的搭建
    Ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一 ...
  • Ubuntu下使用KVM+Qemu 搭建虚拟机
    Ubuntu下使用KVM+Qemu 搭建虚拟机1.查看cpu是否支持,输出vmx就可以了.在虚拟机里面跑到话记得要把IntelVT技术到选项勾上grep vmx /proc/cpuinfo2.安装kvm.qemuapt-get install kvm qemu libvirt-bin virtins ...
  • Ubuntu下Apche服务器的安装、配置和更改缺省目录和主页
    Ubuntu下apche服务器的安装.配置和更改缺省目录和主页最近一直在从事网络行为管理系统开发,开发过程中,需要实现路由等功能,故涉及"Ubuntu下apche服务器的安装.配置和更改缺省目录和主页"等相关问题,现总结如下:1.Ubuntu下apache的安装sudo apt- ...
  • Ubuntu下OpenLDAP服务器的部署步骤
    Ubuntu下OpenLDAP服务器的部署步骤1:安装zlib下载zlib-1.2.3.tar.gz(或其他版本)wget http://down1.chinaunix.net/distfiles/zlib-1.2.3.tar.gz# ./configure --shared# make# make ...
  • Ubuntu下ror开发环境搭建笔记(IDE:NetBeans)
    Ubuntu下ror开发环境搭建笔记(IDE:netbeans)2009年06月16日 星期二 下午 05:38如果ubuntu是在虚拟机上面跑建议内存设置为自己机器内存的一半.1.首先修改软件源,最好为main server.system=>系统管理=>软件源   (中国源下载东西会慢 ...
  • CentOS 6.5下Git服务器搭建
    1 关于版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.有以下三种版本控制系统:1. 本地版本控制系统许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别.这么做唯一的好处就是简单.不过坏处也不少:有时候会混淆所在的工作目录,一旦 ...
  • Ubuntu下Git与Github的安装使用
    Git的简介Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样:Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问. Git的安装与配置安装Gi ...
  • Ubuntu 下 Virtual Judge 环境搭建与配置
    由于学校机房每台机器都需要账号才能访问外网,然而账号只有老师才有,这就导致机房上网账号不够.所以打算在机房的一台Ubuntu服务器上搭建一个Virtual Judge,它用一个账号连接外网其他同学就都能交题了.由于本人不懂JSP.配置环境异常坎坷.配置的过程中还向Isun请教了几次,真的非常感谢!下 ...
一周排行