我用了通常的:

yum install git

它没有在我的CentOS 6上安装最新版本的git。如何更新到CentOS 6的最新版本?该解决方案适用于CentOS 7等更新版本的CentOS。


当前回答

下面是我在centos 6上安装git的方法。

sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel curl-devel
sudo yum install wget
cd ~
wget -O git.zip https://github.com/git/git/archive/v2.7.2.zip
unzip git.zip
cd git-2.7.2
make configure
./configure --prefix=/usr/local
make all doc
sudo make install install-doc install-html

其他回答

看了一下博客,我在其中一条评论中找到了解决方案。确保你把rpmforge存储库添加到CentOS yum中,然后运行下面的命令:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git

如果你已经安装了git,那么使用:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git

相关的问题:

在CentOS 6.4上升级git到最新版本时遇到问题

请注意更新:

感谢Anthony Hatzopoulos,对于git v1.8x,你需要使用git18:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 

说明更新2:

也感谢@Axlrod的以下提示和@Hiphip的反馈:

更改rpmforge。回购文件有rpmforge-extras启用, Yum更新git。否则它会抱怨依赖问题。

说明更新3:

安装特定版本的git,比如2.x 我找到了这个简单易用的指南,教你如何下载GIT源代码并自行编译(并安装)。如果接受的答案没有给你想要的版本,请尝试以下说明:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/

(并从上面的源代码中粘贴/重新格式化,以防稍后被删除)

步骤1:安装所需软件包

首先,我们需要确保在您的系统上安装了所需的软件包。在编译Git源代码之前,使用以下命令安装所需的包。

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

步骤2:卸载旧的Git RPM

现在删除之前通过RPM文件或Yum包管理器安装的Git。如果您的旧版本也是通过源代码编译的,则跳过此步骤。

# yum remove git

步骤3:下载并编译Git源代码

从内核git下载git源代码,或者直接使用以下命令下载git 2.0.4。

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
# tar xzf git-2.0.4.tar.gz

下载并提取Git源代码后,使用以下命令编译源代码。

# cd git-2.0.4
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
#
# echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
#  or
# echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh
#
# source /etc/bashrc

HINT 1: Updated method of adding compiled git bin directory to bashrc. Because echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc used "" instead of '', it would expand the current session's value for $PATH instead of keeping it as a variable, and could adversely affect the entire system. At the minimum, it should use '' instead of "" and should really be a separate script in /etc/profile.d/ HINT 2 (@DJB): /usr/local/git/bin before $PATH, since the older version of git was already on $PATH: export PATH=/usr/local/git/bin:$PATH

步骤4。查看Git版本

完成上述步骤后,您就成功地在系统中安装了Git。让我们使用以下命令来检查git版本

# git --version

git version 2.0.4

我还想补充一点,GIT网站上的“入门”指南也包括如何自己下载和编译的说明:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

我找到了这个简单易用的指南,教你如何下载GIT源代码并自行编译(并安装)。如果接受的答案没有给你想要的版本,请尝试以下说明:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/

(并从上面的源代码中粘贴/重新格式化,以防稍后被删除)

步骤1:安装所需软件包

首先,我们需要确保在您的系统上安装了所需的软件包。在编译Git源代码之前,使用以下命令安装所需的包。

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

步骤2:卸载旧的Git RPM

现在删除之前通过RPM文件或Yum包管理器安装的Git。如果您的旧版本也是通过源代码编译的,则跳过此步骤。

# yum remove git

步骤3:下载并编译Git源代码

从内核git下载git源代码,或者直接使用以下命令下载git 2.5.3。

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
# tar xzf git-2.5.3.tar.gz

下载并提取Git源代码后,使用以下命令编译源代码。

# cd git-2.5.3
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# echo 'pathmunge /usr/local/git/bin/' > /etc/profile.d/git.sh 
# chmod +x /etc/profile.d/git.sh
# source /etc/bashrc

步骤4。查看Git版本

完成上述步骤后,您已经成功地在系统中安装了Git。使用以下命令查看git版本

# git --version

git version 2.5.3

我还想补充一点,GIT网站上的“入门”指南也包括如何自己下载和编译的说明:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

在Centos 6/7上构建最新版本的git

准备系统建立rpm

安装epel: 对于EL6,使用: Sudo yum安装https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 对于EL7,使用: Sudo yum安装https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 安装fedpkg: Sudo yum安装fedpkg 将自己添加到组mock(更改后您可能需要重新登录服务器): sudo usermod -a -G mock $USER

下载

下载git源代码: Fedpkg克隆-一个git && CD git fedpkg来源 验证来源: Sha512sum -c源

构建rpm

创建srmp。用el6代替RHEL6,用el7代替RHEL7。 Fedpkg—dist el7 SRPM 在mock中构建包: 模拟-r eel -7-x86_64 git-2.16.0-1.el7.src.rpm 从/var/lib/mock/ eel -7-x86_64/result/安装最新版本的git rpm。注意,您可能需要首先从系统中卸载现有版本的git。

本指南基于Todd Zullinger的邮件列表。

正如git所说:

RHEL及其衍生产品通常会发布较旧版本的git。你可以 下载一个压缩包并从源代码构建,或者使用第三方 如IUS社区项目的存储库,以获得最新的 git的版本。

这里有很好的教程。 在我的情况下(Centos7服务器)安装后不得不注销并再次登录。

Rackspace维护ius存储库,其中包含一个相当最新的git,但必须首先删除库存git。

CentOS 6或7指令(以root用户或sudo运行):

# retrieve and check CENTOS_MAIN_VERSION (6 or 7):
CENTOS_MAIN_VERSION=$(cat /etc/centos-release | awk -F 'release[ ]*' '{print $2}' | awk -F '.' '{print $1}')
echo $CENTOS_MAIN_VERSION
# output should be "6" or "7"

# Install IUS Repo and Epel-Release:
yum install -y https://repo.ius.io/ius-release-el${CENTOS_MAIN_VERSION}.rpm
yum install -y epel-release 

# re-install git:
yum erase -y git*
yum install -y git-core

# check version:
git --version
# output: git version 2.24.3

注意:git-all通常会安装旧版本而不是git-core。试试git224-all。

该脚本在CentOS 7 docker映像(7e6257c9f8d8)和CentOS 6 docker映像(d0957ffdf8a2)上进行测试。