232 votes

Comment utiliser le git installé par Homebrew sur Mac ?

J'ai installé la dernière version de git (1.8.3) en utilisant homebrew mais lorsque je tape

git --version

dans mon terminal, il s'imprime :

git version 1.7.10.2 (Apple Git-33)

Que dois-je faire pour remplacer l'ancienne version de git par la nouvelle ?

2 votes

Vous avez quelques bonnes réponses - je voulais donc commenter la question. Cherchez-vous des instructions explicites pour installer git depuis les sources à partir de homebrew ou d'un client GUI ou simplement la confirmation qu'OS X inclut plusieurs versions de git dans le système d'exploitation de base ? opensource.apple.com/source/Git (FWIW - Le git le plus récent que j'ai vu dans le paquet d'Apple à ce jour est 1.7.12.4 qui provient de Git-37).

3voto

Lorsque vous utilisez brew install git pour l'installation, remarquez qu'il installe git sous :

==> Summary
  /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB

Vous obtiendrez également une erreur, qui apparaît plus tôt dans le journal et que vous avez probablement manquée :

==> Downloading https://homebrew.bintray.com/bottles/git-2.29.2.big_sur.bottle.t
Already downloaded: /Users/chadjinik/Library/Caches/Homebrew/downloads/08165d120fcebc7823c487a6778b2ea0e67fd2cd9177d6e7d656268f474ab5da--git-2.29.2.big_sur.bottle.tar.gz
==> Pouring git-2.29.2.big_sur.bottle.tar.gz

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

Cours juste :

brew link --overwrite git

et vous devriez être bon.

3voto

Global nomad Points 2799

Lorsque vous tapez

git --version

dans Terminal.app ou dans la console, votre commentaire sur une autre question indiquait que la version qu'il renvoie est la version git dans /usr/bin/git

Si vous avez installé Xcode 4.5 (et plus récent), et tapez

xcrun git --version

dans Terminal.app ou dans la console, la version qu'il renvoie est la version git du paquet d'applications Xcode.

Si vous utilisez Homebrew pour installer et mettre à jour git, la solution la plus simple est de

  1. assurez-vous d'avoir les droits d'administrateur car le mot de passe de l'administrateur vous sera demandé.

  2. renommer l'emplacement d'origine en le renommant à l'aide de mv. Par exemple

    sudo mv /usr/bin/git /usr/bin/git-ORIGINAL

  3. créez un lien logiciel en utilisant 'ln -s' vers le binaire git que vous avez installé avec Homebrew.

Notez que MattDMo a une meilleure solution dans les commentaires.

0 votes

Est-ce que c'est 100% sûr ? Est-ce que ça va casser quelque chose en rapport avec Mac ?

0 votes

Si vous suivez les étapes décrites, la solution ne cassera rien de pré-installé puisque ces exécutables git ne sont pas supprimés. C'est pourquoi, à l'étape 2, vous devez renommer votre /usr/bin/git d'origine en /usr/bin/git.BACKUP, par exemple.

11 votes

S'il vous plaît, ne faites pas ça - vous ne devriez vraiment pas vous amuser avec /usr/bin car il est possible que d'autres programmes dont vous n'avez même pas connaissance dépendent des aléas associés à une version particulière. La solution la plus simple, sans rien déplacer, est d'ajouter /usr/local/bin a su $PATH avant la variable d'environnement /usr/bin - IIRC, homebrew installe à /usr/local/bin

2voto

John Points 121

Installez git avec brew, puis exécutez ceci.

brew link --force git

Fermez et rouvrez le terminal pour exécuter which git .

1 votes

Comment cela modifie-t-il le chemin par défaut ?

0 votes

Cela a fonctionné pour moi pour remplacer le git de xcode.

0 votes

J'ai eu une erreur en exécutant ceci mais brew link --overwrite git a travaillé

1voto

Jinesh Points 11

Faites un simple alias pour éviter de changer de chemin :

alias git=/usr/local/bin/git

0 votes

Ouaip ! C'est ce que j'ai fini par faire aussi. Je n'ai pas voulu changer la précédence de PATH ou tout autre truc bidon.

0 votes

C'est la seule chose qui a fonctionné pour moi. Même changer le chemin n'a pas fonctionné pour moi - peut-être lié aux outils de ligne de commande de Xcode.

1voto

Vous devez renommer le git original par apple dans /usr/bin/ vers, par exemple, git-org depuis /usr/bin est normalement avant /usr/local/bin dans le répertoire où se trouve le matériel de brassage.

Donc :

cd /usr/bin
sudo mv git git-org

et n'oubliez pas de lier le git de brew

brew link git

Cela suppose que /usr/local/bin est dans votre $PATH variable d'environnement. Si vous avez toujours un problème, essayez d'exécuter

brew doctor 

et corrigez les problèmes qui y sont mentionnés.

3 votes

Ne renommez pas ou ne modifiez pas les choses dans /usr/bin car cela pourrait casser des trucs d'Apple et ils seront modifiés lorsque vous ferez une mise à jour du système ou de XCode. utilisez le chemin qui est conçu pour cela,

0 votes

@Mark vous avez raison. Mais je ne pense pas que vous aurez des problèmes si vous changez seulement git dans /usr/bin. Pour moi, cela fonctionne depuis plusieurs mois.

0 votes

Je suis d'accord sur le fait que, normalement, changer des choses dans /usr/bin est une mauvaise nouvelle, mais je ne me souviens pas qu'OS X utilise réellement git, donc le préjudice pourrait être minuscule et ne concerner qu'un système "propre" qui correspond aux recettes. Le mal serait qu'une mise à jour d'OS X puisse remplacer le nouveau git par une version plus ancienne, d'où la pratique normale de localiser un nouveau binaire en dehors de l'emplacement du chemin du système.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X