web-dev-qa-db-fra.com

Installer une version plus récente de Git sur CentOS 7

J'aime activer Git "Push to Deploy" sur mon serveur CentOS 7. Actuellement, je ne peux obtenir Git 1.8.3.1 que via yum. J'ai besoin d'une version plus récente.

Dois-je le construire à partir de la source ou existe-t-il un référentiel que je peux utiliser? J'ai déjà ajouté EPEL et elrepo mais miam me donne toujours Git 1.8.3.1.

25
Oliver

La construction à partir de la source est assez simple. Digital Ocean a un Nice guide sur la construction de Git à partir de la source sur CentOS 7 . Placez le binaire résultant dans/usr/local/bin/sur votre système CentOS 7 (qui, par défaut, est inclus dans votre $ PATH) et vous êtes prêt à partir.

Bien sûr, vous préféreriez les packages/utiliser le dépôt, mais étant donné votre situation, je n'hésiterais pas à le construire moi-même.

Pour des informations générales; Push to Deploy a été introduit dans Git 2.3. . Assurez-vous d'utiliser cette version ou supérieure.

11
lauvdh

Vous pouvez utiliser un référentiel IUS ( https://ius.io/ ) comme prévu sur le site officiel de Git ici: - https://git-scm.com/download/linux

Pour ce faire, exécutez (en tant que root):

yum install epel-release
yum remove git
rpm -U https://centos7.iuscommunity.org/ius-release.rpm
yum install git2u

(centos7 peut être remplacé par centos6 ou rhel{6,7} si vous n'utilisez pas CentOS).

32
lospejos

J'ai cette approche pour CentOS 7.2:

rpm -U http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm \
    && yum install -y git

En ce moment, j'ai 2.10.0 Version GIT.

Ou pour CentOS 7.1 le même chemin mais wandisco-git-release-7-1.noarch.rpm.

Vous pouvez inspecter les versions disponibles http://opensource.wandisco.com/centos/7/git/x86_64/

12
Kirby

Red Hat gère une collection de logiciels pour Git 2.9:

https://www.softwarecollections.org/en/scls/rhscl/rh-git29/

C'est le moyen le plus simple et le plus sûr d'obtenir Git 2.x sur CentOS.

3
leoluk

Le fait de suivre les instructions du site Web telles que conseillées par @lauvdh a entraîné:

/usr/bin/Perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/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

Cette source indique comment résoudre ce problème.

Pour éviter que toutes les commandes disparaissent lorsque les liens sont obsolètes et pour éviter de réinventer la roue, les commandes suivantes sont requises pour installer une version plus récente de git sur CentOS7:

Sudo yum install Perl-ExtUtils-MakeMaker -y && \
wget https://github.com/git/git/archive/v2.5.0.tar.gz -O git.tar.gz && \
tar -zxf git.tar.gz && \
cd git-* && \
make configure && \
./configure --prefix=/usr/local && \
Sudo make install && \
git --version
3
030

Le repo "Inline with Upstream Stable" ( https://ius.io/ ) me semble plutôt bien.

Il a des rpms git 2.x qui fonctionnent bien avec le système de conflits rpm.

Vous pouvez trouver git rpms ici:

https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/repoview/letter_g.group.html

J'ai trouvé que la méthode SCL (Software Collections) était plus lourde. Ils font très attention à ne pas interférer avec l'utilisateur qui ne les utilise pas. Un peu trop prudent à mon avis.

1
Matthew Hannigan