抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

前言

centos自带的git版本一般不高,现多数服务器使用的为稳定版的centos6.5,自带git版本为1.7,应付一般任务是够了,有些命令不支持。

开发提了一个需求,需要获取上一个变更日志,一般我们想到的是git log -p -1,得到类似以下的结果,

1
2
commit b192e3997f88d8dbcdcc2fcf43c0790b04f7bb18 Merge: 9ff70d3 f8f884a Author: xxx  Date:   Wed Oct 26 07:05:49 2016 +0000 Merge branch 'xxx' into 'master' 添加排期的时长 75min 
See merge request !326

假如我们只取以下内容呢?

1
2
Merge branch 'xxx' into 'master' 添加排期的时长 75min 
See merge request !326

那就用到命令git log -1 --pretty=%B,而版本1.7不支持,需要升级。

安装

安装依赖

1
2
3
4
5
6
yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib curl autoconf tk
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install perl-ExtUtils-MakeMaker package
yum install gettext-devel
yum install asciidoc
yum install xmlto

下载tar包

1
2
3
4
wget https://www.kernel.org/pub/software/scm/git/git-2.8.4.tar.gz 
tar zxvf git-2.8.4.tar.gz
cd git-2.8.4
mkdir -p /opt/git

编译安装

1
2
make prefix=/opt/git all doc
make prefix=/opt/git install install-doc

备份、做软链

1
2
3
cp /usr/bin/git /usr/bin/git_bak
rm -rf /usr/bin/git
ln -s /opt/git/bin/git /usr/bin/git

检查

1
2
3
git --version
出现
git version 2.8.4

其他获取方式

获取最新版本的git

1
2
3
git clone git://git.kernel.org/pub/scm/git/git.git
make prefix=/usr/local all (编译)
sudo make prefix=/usr/local install (安装)

评论