前言
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 (安装)
|