Comment utiliser le git installé par Homebrew sur Mac?

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

git --version 

dans mon terminal, il affiche:

git version 1.7.10.2 (Apple Git-33) 

Que dois-je faire pour remplacer lancienne version de git par la nouvelle?

Commentaires

  • Vous avez quelques bonnes réponses – je voulais donc commenter la question. Cherchez-vous des instructions explicites pour installer git à partir des sources de homebrew ou dun client GUI ou simplement une confirmation que OS X regroupe plusieurs versions de git avec le système dexploitation principal? opensource.apple.com/source/Git (FWIW – Le plus récent git que jai ‘ vu le bundle Apple à ce jour est 1.7.12.4 qui vient de Git-37)

Answer

Merci à tous pour les réponses utiles. Dans mon cas, ajouter

export PATH="/usr/local/bin:${PATH}" 

dans ~/.bash_profile suivi de

source ~/.bash_profile 

a résolu le problème pour mon utilisateur.

Commentaires

  • Si vous voulez que le changement persiste parmi les utilisateurs, vous pouvez déplacer /usr/local/bin ci-dessus /usr/bin in /etc/paths.
  • Voici la solution proposée par Homebrew lui-même lors de lexécution de brew doctor pour diagnostiquer le problème
  • cette réponse doit être mise à jour avec la solution proposée par KevinT consistant à définir /etc/paths. Définir uniquement l  » export  » peut ne pas suffire, si /usr/bin a  » précédence  » sur /usr/local/bin (de linfusion) …
  • Rappelez-vous pour redémarrer le terminal! ‘ ne mest pas venu à lesprit avant de voir le commentaire de Juan Diego Gonzales ‘ ci-dessous
  • @Souleiman: Redémarrage isn ‘ t nécessaire. source ~/.bash_profile va relire cela. Le redémarrage est probablement plus rapide / plus facile. 🙂

Réponse

Statut 2020

Toutes les astuces mentionnées ici en plusieurs réponses ne sont plus nécessaires sur macOS Sierra, Mojave & Catalina avec le dernier Homebrew. Oubliez export PATH="..." et les modifications apportées à ~/.bash_profile.

Vous faites simplement

brew install git 

et vous avez terminé.

Pour confirmer, ouvrez une nouvelle fenêtre / un nouvel onglet de terminal et tapez

git --version 

Noubliez pas douvrir une nouvelle fenêtre. Les terminaux qui étaient ouverts avant que vous ne commenciez à install nhériteront daucune modification.

Réponse

Ok, je suis prêt à me lancer sérieusement dans scm.

$ git --version git version 1.9.5 (Apple Git-50.3) 

Non, ce nest pas ce que je voulais. Je < 3 homebrew, donc:

$ brew install git 

Tout est prêt?

$ git --version git version 1.9.5 (Apple Git-50.3) 

Doh! (gratte la tête)

$ which git /usr/bin/git 

Ah, le git dApple est dans / usr / bin, donc il lemporte sur celui de lhomebrew. Que faire?

(A) Renommez simplement le binaire dApple

(B) Laissez celui géré par homebrew avoir la priorité:

[modifier lexportation PATH par exemple dans ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]

[spécifiquement: move / usr / local / bin / git: avant / usr / bin:]

… et / ou (par exemple, pour laisser plus largement les choses homebrew lemporter sur les installations du système, et faire en sorte que la priorité sapplique à tous les shells et utilisateurs) éditez également le fichier / etc / path, [en déplaçant / usr / local / bin au-dessus / usr / bin]

Mais en supposant juste lapproche la plus simple / la moins invasive:

$ sudo mv /usr/bin/git /usr/bin/git-apple 

Cela a-t-il fonctionné?

$ which git /usr/local/bin/git 

Jusquici tout va bien, maintenant le moment de vérité:

$ git --version git version 2.2.1 

w00t! 🙂 Il est temps daller lire http://git-scm.com ! 🙂

Commentaires

  • PS Rel aux commentaires sur les risques dédition / usr / bin: IMHO it ‘ s NBD. (Bien que jaime Global nomad ‘ s sugg. De faire  » sudo ln -s / usr / local / bin / git / usr / bin / git  » … qui garantit que tout ce qui appelle  » / usr / bin / git  » obtiendra explicitement votre système géré par brassage. Mais je pense que linstallation de git implique que vous ‘ sapproprie git sur votre système. Se soucie des processus inconnus utilisant un ancien , une autre version de git, pourrait être égarée. Je recommande de rester à jour avec les versions de git (pour la sécurité, pas seulement les fonctionnalités), et de le gérer vous-même. Homebrew rend cela facile. /$0.02
  • Cela na pas ‘ t fonctionne pour moi, pour lannuler, il suffit de faire: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ a fonctionné (en gros, suivez la réponse acceptée puis redémarrez le terminal).
  • Même avec which git pointant vers /usr/local/bin/git, cela na pas ‘ t travailler pour moi. Pour résoudre ce problème, jai dû désinstaller lapplication GitHub pour Mac.
  • MacOS 10.12.5: sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
  • Utilisez simplement brew doctor. En 2020, il a recommandé brew link —overwrite git

Réponse

Une fois que vous « Jai installé le dernier git via brew (brew install git), exécutez ce one-liner (comme suggéré par brew doctor) sil nest pas » t déjà là:

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile 

Puis quittez le Terminal et ouvrez-le à nouveau (redémarrez votre session bash). Vous devez le faire même si votre PATH était déjà correct, car ZSH et Bash mettent en cache le contenu de PATH (voir la documentation sur la commande intégrée hash).

Cela devrait régler les choses très rapidement.

Commentaires

  • En quoi cela diffère-t-il de la réponse acceptée?
  • In mon cas, je ne savais pas ‘ que je devais redémarrer Terminal, donc cette partie peut aider certaines personnes. Est plus rapide que laccepté en raison de la seule doublure. Si ‘ est un concours, je pense que ma réponse est mal placée. Sinon, je pense que cela contribue. (Dites-moi si vous voulez que je fasse une modification à la place de celle-ci).
  • Vous faites cette seule ligne lorsque vous installez Homebrew
  • Jai trouvé cette réponse utile. Le redémarrage du terminal est un problème non évident pour de nombreuses personnes qui ne connaissent pas le fonctionnement de .bash_profile, et un rappel doux pour le reste dentre nous.
  • @JuanDiegoGonzales Excellente observation! Je me demandais exactement la même chose après avoir installé git et ne savais ‘ pourquoi. Après lindication de cache , jai fait un peu plus de recherche: unix.stackexchange.com/q/5609/52921

Réponse

Jai essayé ceci et cela fonctionne pour moi.

brew link --overwrite git 

Commentaires

  • A travaillé pour moi sur Mojave (10.14.4)

Réponse

Lorsque vous tapez

git --version 

dans Terminal.app ou console, votre commentaire sur une autre question indiquait la version renvoie est le 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 console, la version quelle renvoie est la version git du bundle dapplications Xcode.

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

  1. assurez-vous que vous disposez des droits dadministrateur car il vous sera demandé le mot de passe de ladministrateur
  2. renommer lemplacement dorigine en le renommant à laide de mv. Par exemple

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

  3. créer 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.

Commentaires

  • Est-ce sûr à 100%? Cela cassera-t-il quoi que ce soit lié à Mac?
  • 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. Cest pourquoi à létape 2, vous devez renommer votre / usr / bin / git dorigine par ex. comme /usr/bin/git.BACKUP
  • Veuillez ne pas ‘ faire ceci – vous ne devriez vraiment pas ‘ t jouer avec /usr/bin, car il ‘ est possible que d’autres programmes que vous utilisez ‘ t même savoir dépend des caprices associés à une version particulière. La solution la plus simple, sans rien déplacer, consiste à ajouter /usr/local/bin à votre variable denvironnement $PATH avant /usr/bin – IIRC, homebrew sinstalle sur /usr/local/bin
  • Merci @MattDMo, cela semble être la meilleure approche dans ce cas.

Réponse

Installez git avec brew, puis exécutez ceci.

brew link --force git

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

Commentaires

  • En quoi cela change-t-il le chemin par défaut?
  • Cela a fonctionné pour moi pour remplacer xcode ‘ s git.
  • Jai eu une erreur lors de lexécution ceci mais brew link --overwrite git a fonctionné

Réponse

Vous devez renommer le git original par apple dans /usr/bin/ à e. g. git-org puisque /usr/bin est normalement avant /usr/local/bin dans votre répertoire de chemin où se trouve le truc de brassage.

Donc:

cd /usr/bin sudo mv git git-org 

et noubliez pas de lier le brew git

brew link git 

Cela suppose que /usr/local/bin est dans votre variable denvironnement $PATH.Si le problème persiste, essayez dexécuter

brew doctor 

et de résoudre les problèmes mentionnés ici.

Commentaires

  • Ne renommez pas ou ne modifiez pas les choses dans / usr / bin car cela pourrait casser les problèmes Apple et ils seront modifiés lorsque vous effectuez une mise à jour du système ou de XCode. utilisez le chemin pour lequel il est conçu,
  • @Mark vous avez un point. Mais je ne crois pas que vous aurez des problèmes si vous ne changez que git dans / usr / bin. Pour moi, cela fonctionne depuis plusieurs mois.
  • Je conviens que normalement changer les choses dans / usr / bin est une mauvaise nouvelle, mais je ne peux ‘ me rappeler le système dexploitation X utilise réellement git, donc le mal peut être minuscule et ne concerner quun système  » clean  » qui correspond aux reçus. Le problème serait quune mise à jour dOS X pourrait remplacer le nouveau git par une version plus ancienne, doù la pratique normale de localiser un nouveau binaire en dehors de lemplacement du chemin système.
  • Je pense que ce serait beaucoup plus facile à ajouter /usr/local/bin (répertoire dinstallation homebrew ‘, IIRC) vers le $PATH avant /usr/bin au lieu de se débrouiller avec le changement de nom et la sauvegarde, etc.

Réponse

Si vous installez git directement depuis git-scm.com et que vous souhaitez utiliser la dernière version téléchargée de git au lieu de la (ancienne) version apple de git.

  1. Installez git depuis git-scm .com
  2. Très probablement, un nouveau git sera installé dans /usr/local/bin/git
  3. Essayez git --version, sil renvoie lancienne version Apple de git, procédez ci-dessous
  4. cd ~ (changez le répertoire vers votre répertoire personnel)
  5. tapez vi .bashrc
  6. Utilisez i (pour insérer du texte dans léditeur vi)
  7. Si vous trouvez une ligne avec export PATH......., appuyez sur Entrée en haut de lexportation et tapez ce qui suit: export PATH=/usr/local/:$PATH (Soyez extrêmement prudent avec la variable PATH ne le gâchez pas sinon cela causera des problèmes pour votre système dexploitation) (espérons-le nouveau git doit être installé dans /usr/local/git)
  8. Appuyez sur échap
  9. Entrez :wq (pour enregistrer le fichier .bashrc)
  10. Quitter le terminal et démarrer un nouveau terminal
  11. Maintenant, essayez git --version (vous devriez voir une nouvelle version)

Réponse

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

alias git=/usr/local/bin/git 

Réponse

Jai « essayé beaucoup de choses, y compris tout ce message » s réponses. Enfin, jai pu lancer la version brew de git à la place de Xcode en supprimant simplement le dossier des outils supplémentaires de Xcode:

sudo rm -rf /Library/Developer/CommandLineTools

Réponse

Lorsque vous utilisez brew install git pour linstallation, notez quil installe git sous:

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

Vous allez obtenez également une erreur, qui apparaît plus tôt dans le journal et vous lavez 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  

Il suffit de lancer:

 brew link --overwrite git  

et vous devriez être bon.

Réponse

Cela dépend de la provenance de votre git. Xcode apporte une version par exemple, peut-être quelle est directement dans votre chemin.

Peut-être que taper

which git 

montrera où se trouve lancien.

Commentaires

  • il ‘ est dans /usr/bin/git
  • Cela ressemble à deux installations. Je pense que la version normale (téléchargeable) de git va dans / usr / local / git / … Il ‘ est alors une question dajouter cela au chemin ou de supprimer lautre (ou les deux)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *