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

22

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.

Oliver
la source
"Pousser pour déployer" signifie utiliser des crochets git qui deviennent actifs lors d'une poussée. Quelles fonctionnalités vous manquent dans la version EL7 git? J'utilise avec succès Git 1.7.1 sur EL6 pour de nombreuses tâches de ce type.
Sven
2
@Sven Basé sur le besoin d'une version plus récente de git, je dirais plutôt qu'il fait référence au Git 2.3 "Push to deploy", qui vous permet de pousser vers un référentiel non nu et d'avoir également son répertoire de travail mis à jour - github.com/blog/1957-git-2-3-has-been-released
andol
andol a raison, je voudrais utiliser la fonctionnalité "push to deploy" qui est nouvelle avec Git 2.3
Oliver

Réponses:

11

La construction à partir de la source est assez simple. Digital Ocean a un bon 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 repo, 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.0 . Assurez-vous d'utiliser cette version ou supérieure.

lauvdh
la source
27

Vous pouvez utiliser un référentiel IUS ( https://ius.io/ ) comme fourni 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

( centos7peut être remplacé par centos6ou rhel{6,7}si vous n'utilisez pas CentOS).

lospejos
la source
4
Certainement la méthode que j'utiliserais, car vous obtenez un RPM bien entretenu plutôt que tout ce que vos outils de création ont créé.
Ken Williams
1
Je veux juste noter qu'il peut ne pas être sûr d'utiliser des référentiels tiers. Voici un article de blog traitant de ce problème.
robsch
@robsch Je suis entièrement d'accord avec cela, et je n'utiliserai jamais de dépôts externes si les packages requis sont fournis dans des dépôts standard / officiels. Comme toujours, c'est un sujet de compromis. Quoi qu'il en soit, nous devons toujours suivre la stratégie "réfléchissez bien avant de faire".
lospejos
12

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

Pour le moment, j'ai la 2.10.0version 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/

Kirby
la source
1

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.

Matthew Hannigan
la source