CentOS下Git服务器搭建与客户端安装

git的历史

当年教授给我们将git历史的时候,感觉特别有意思,还特崇拜linux之父Linus Torvalds。linux内核开发是来自世界各地的热衷于开源的人士,开始他们使用的版本控制系统是一个商业产品BitKeeper,并免费给linux使用,但由于后期开发人员越来越庞大等等原因,而BitKeeper毕竟是商业产品,终于在2005年与linux内核开源社区结束了合作关系,Linus Torvalds一气之下就自己开发了一款适合linux内核开发管理的版本管理系统Git。现在Linus Torvalds其实很少写代码了,而是将别人提交的代码合并到内核中去,更多时间里,就是在对别人提交的代码说“Yes”或者“No”,或是指导别人该在什么地方进行修改。


Git是分布式版本控制系统的一个完美实现,它与集中式版本控制系统SVN的基本区别如下:

  • Git是分布式的,而SVN不是

    Git和SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。

  • Git将内容按元数据方式存储,而SVN是按文件

    所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

  • Git分支和SVN分支的不同

    SVN的分支就是版本库中的另外一个目录,而Git的分支却是整个版本库的一个快照,而且可以在同一个工作目录下快速的在几个分支间切换。

  • Git没有一个全局的版本号,而SVN有

    SVN的版本号实际是任何一个相应时间的源代码快照。而Git并没有这样的一个全局版本号,这也是Git缺少的最大的一个特征

  • Git的内容完整性要优于SVN

    Git的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

 

Git的基本工作流程如下:

  • 在工作目录中修改某些文件。

  • 对修改后的文件进行快照,然后保存到暂存区域。

  • 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。





具体步骤

一、安装git服务器

服务器环境为:centos;由于CentOS中yum里没有Git,需要手动安装

1、首先需要安装git的依赖包

yum install curl  
yum install curl-devel  
yum install zlib-devel  
yum install openssl-devel  
yum install perl  
yum install cpio  
yum install expat-devel  
yum install gettext-devel 

如果curl命令没有安装成功,使用如下方法安装:

wget http://curl.haxx.se/download/curl-7.18.0.tar.gz
tar xzvf curl-7.18.0.tar.gz
cd curl-7.18.0
./configure
make
make install

2、安装git

到官网http://git-scm.com/download 下载</span>最新版本,上传至服务器。

#或者使用命令:获取git包

 
 
wget https://www.kernel.org/pub/software/scm/git/git-2.6.2.tar.gz   #地址调整为最新的地址,当前最新的版本为2.6.2
 
 
<span style="font-family: Arial, Helvetica, sans-serif;">tar xzvf git-2.6.2.tar.gz</span>
#进入git源码目录,最后的版本日期不同所以使用xxxx-xx-xx表示
#可以使用“ll -a”看一下目录名称,然后改成对应的目录名(日期不同)
cd git-{date}
autoconf./configure --with-curl=/usr/local
make

出现错误一:

usr/bin/perl Makefile.PL PREFIX='/usr/local/git' INSTALL_BASE='' --localedir='/usr/local/git/share/locale'

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.

BEGIN failed--compilation aborted at Makefile.PL line 3.

make[1]: *** [perl.mak] Error 2

make: *** [perl/perl.mak] Error 2

执行:

yum install perl-ExtUtils-MakeMaker package.

<p><span style="font-family: Arial, Helvetica, sans-serif;">make install</span></p>
<span style="white-space:pre"></span>3、<span style="font-family: 'courier new', courier; font-size: 14px; line-height: 25.1875px;">验证是否安装成功:检查安装的版本</span><pre name="code" class="html" style="font-size: 14px;">git --version 
4、执行命令可查看git安装目录
whereis git 

到此处git已经全部安装完毕

二、创建一个git用户,用来运行git服务

5、创建一个git用户,用来运行git服务

sudo useradd -r -s /bin/sh -c 'git version control' -d /home/git git 

6、创建一个git用户,用来运行git服务

mkdir -p /home/git

chown git:git /home/git 

二、安装git服务器

 

你可能感兴趣的:(CentOS下Git服务器搭建与客户端安装)