Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在CentOS 7.x/6.x上安装最新版本的git_Linux_Git_Installation_Centos_Yum - Fatal编程技术网

Linux 如何在CentOS 7.x/6.x上安装最新版本的git

Linux 如何在CentOS 7.x/6.x上安装最新版本的git,linux,git,installation,centos,yum,Linux,Git,Installation,Centos,Yum,我用了通常的方法: yum install git 它没有在我的CentOS 6上安装最新版本的git。如何更新到适用于CentOS 6的git的最新版本?该解决方案可适用于CentOS的较新版本,如CentOS 7。查看博客后,我在其中一条评论中找到了该解决方案。确保已将rpmforge存储库添加到CentOS yum中,然后运行以下命令: yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git 如果已

我用了通常的方法:

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

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

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
如果已安装git,请使用:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
有关问题:

  • 注:更新: 感谢Anthony Hatzopoulos,对于
    git v1.8x
    ,您需要使用git18,如下所示:

    yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 
    
    注2: 还感谢@Axlrod提供以下提示和@Hiphip提供反馈:

    rpmforge.repo
    文件更改为启用
    rpmforge extras
    yum更新git
    。否则,它会抱怨依赖性问题

    注3: 安装特定版本的git,比如说2.x 我发现这是一本关于如何下载GIT源代码并自己编译(并安装)的简单易懂的指南。如果接受的答案没有给出所需的版本,请尝试以下说明:

    (并从上述来源粘贴/重新格式化,以防以后删除)

    步骤1:安装所需的软件包

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

    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    # yum install  gcc perl-ExtUtils-MakeMaker
    
    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    # yum install  gcc perl-ExtUtils-MakeMaker
    
    步骤2:卸载旧的Git RPM

    现在通过RPM文件或Yum package manager删除以前安装的Git。如果旧版本也是通过源代码编译的,则跳过此步骤

    # yum remove git
    
    # yum remove git
    
    步骤3:下载并编译Git源代码

    从内核git下载git源代码,或者只需使用以下命令下载git2.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
    
    # 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
    
    提示1: 更新了向bashrc添加已编译git bin目录的方法。由于
    echo“export PATH=$PATH:/usr/local/git/bin”>/etc/bashrc
    使用了“”而不是“”,因此它将扩展当前会话的$PATH值,而不是将其保留为变量,并可能对整个系统产生不利影响。至少,它应该使用“”而不是“”,并且应该是
    /etc/profile.d/

    提示2(@DJB):
    /usr/local/git/bin
    之前的
    $PATH
    ,因为较旧版本的git已经位于$PATH:
    导出路径=/usr/local/git/bin:$PATH

    第4步。检查Git版本

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

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

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

    yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
    
    如果已安装git,请使用:

    yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
    
    有关问题:

  • 注:更新: 感谢Anthony Hatzopoulos,对于
    git v1.8x
    ,您需要使用git18,如下所示:

    yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 
    
    注2: 还感谢@Axlrod提供以下提示和@Hiphip提供反馈:

    rpmforge.repo
    文件更改为启用
    rpmforge extras
    yum更新git
    。否则,它会抱怨依赖性问题

    注3: 安装特定版本的git,比如说2.x 我发现这是一本关于如何下载GIT源代码并自己编译(并安装)的简单易懂的指南。如果接受的答案没有给出所需的版本,请尝试以下说明:

    (并从上述来源粘贴/重新格式化,以防以后删除)

    步骤1:安装所需的软件包

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

    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    # yum install  gcc perl-ExtUtils-MakeMaker
    
    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    # yum install  gcc perl-ExtUtils-MakeMaker
    
    步骤2:卸载旧的Git RPM

    现在通过RPM文件或Yum package manager删除以前安装的Git。如果旧版本也是通过源代码编译的,则跳过此步骤

    # yum remove git
    
    # yum remove git
    
    步骤3:下载并编译Git源代码

    从内核git下载git源代码,或者只需使用以下命令下载git2.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
    
    # 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
    
    提示1: 更新了向bashrc添加已编译git bin目录的方法。由于
    echo“export PATH=$PATH:/usr/local/git/bin”>/etc/bashrc
    使用了“”而不是“”,因此它将扩展当前会话的$PATH值,而不是将其保留为变量,并可能对整个系统产生不利影响。至少,它应该使用“”而不是“”,并且应该是
    /etc/profile.d/

    提示2(@DJB):
    /usr/local/git/bin
    之前的
    $PATH
    ,因为较旧版本的git已经位于$PATH:
    导出路径=/usr/local/git/bin:$PATH

    第4步。检查Git版本

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

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


    我发现了这本关于如何下载GIT源代码并自己编译(并安装)的简单易懂的指南。如果接受的答案没有给出所需的版本,请尝试以下说明:

    (和粘贴/重新粘贴)
    ll /var/lib/mock/epel-6-x86_64/result
    total 34996
    -rw-rw-r--. 1 byrnejb mock   448455 Oct 30 10:09 build.log
    -rw-rw-r--. 1 byrnejb mock    52464 Oct 30 10:09 emacs-git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    47228 Oct 30 10:09 emacs-git2u-el-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock  8474478 Oct 30 09:57 git2u-2.5.3-1.ius.el6.src.rpm
    -rw-rw-r--. 1 byrnejb mock  8877584 Oct 30 10:09 git2u-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    27284 Oct 30 10:09 git2u-all-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    27800 Oct 30 10:09 git2u-bzr-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   112564 Oct 30 10:09 git2u-cvs-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   436176 Oct 30 10:09 git2u-daemon-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock 15858600 Oct 30 10:09 git2u-debuginfo-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    60556 Oct 30 10:09 git2u-email-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   274888 Oct 30 10:09 git2u-gui-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    79176 Oct 30 10:09 git2u-p4-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   483132 Oct 30 10:09 git2u-svn-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock   173732 Oct 30 10:09 gitk2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   115692 Oct 30 10:09 gitweb2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    57196 Oct 30 10:09 perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    89900 Oct 30 10:09 perl-Git2u-SVN-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   101026 Oct 30 10:09 root.log
    -rw-rw-r--. 1 byrnejb mock      980 Oct 30 10:09 state.log
    
    yum localinstall \
      git2u-2.5.3-1.ius.el6.x86_64.rpm \
      perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
    
    cat /etc/yum.repos.d/LocalFile.repo
    # LocalFile.repo
    #
    #  This repo is used with a local filesystem repo.
    #
    # To use this repo place the rpm package in /root/RPMS/yum.repo/Packages.
    # Then run: createrepo --database --update /root/RPMS/yum.repo.
    #
    # To use:
    #  yum --enablerepo=localfile [command]
    #  
    # or to use only ONLY this repo, do this:
    #
    #  yum --disablerepo=\* --enablerepo=localfile [command]
    
    [localfile]
    baseurl=file:///root/RPMS/yum.repo
    name=CentOS-$releasever - Local Filesystem repo
    
    # Before persistently enabling this repo see the priority note below.
    enabled=0
    gpgcheck=0
    
    # When this repo is enabled all packages in repos with priority>5
    # will not be updated even when they have a more recent version.
    # Be careful with this.
    priority=5
    
    yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    export GIT_VERSION=2.6.4
    mkdir /root/git
    cd /root/git
    wget "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
    tar xvzf "git-${GIT_VERSION}.tar.gz"
    cd git-${GIT_VERSION}
    make prefix=/usr/local all
    make prefix=/usr/local install
    yum remove -y git
    git --version # should be GIT_VERSION
    
    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
    
    wget http://repo.continuum.io/miniconda/Miniconda2-4.2.12-Linux-x86_64.sh -O ~/miniconda.sh
    bash ~/miniconda.sh -b -p $HOME/miniconda
    export PATH="$HOME/miniconda/bin:$PATH"
    
    conda install git
    
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  
    
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    sudo yum install fedpkg
    
    sudo usermod -a -G mock $USER
    
    fedpkg clone -a git && cd git
    fedpkg sources
    
    sha512sum -c sources
    
    fedpkg --dist el7 srpm
    
    mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
    
    sudo yum remove git*
    
    yum install -y git-core
    
    # hostnamectl
      Operating System: CentOS Linux 7 (Core)
    # git --version
    git version 1.8.3.1
    # sudo yum remove git*
    # sudo yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
    # sudo yum install git
    # git --version
    git version 2.24.1