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
- assurez-vous que vous disposez des droits dadministrateur car il vous sera demandé le mot de passe de ladministrateur
-
renommer lemplacement dorigine en le renommant à laide de mv. Par exemple
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
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.
- Installez git depuis git-scm .com
- Très probablement, un nouveau git sera installé dans
/usr/local/bin/git
- Essayez
git --version
, sil renvoie lancienne version Apple de git, procédez ci-dessous -
cd ~
(changez le répertoire vers votre répertoire personnel) - tapez
vi .bashrc
- Utilisez
i
(pour insérer du texte dans léditeur vi) - 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 variablePATH
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
) - Appuyez sur échap
- Entrez
:wq
(pour enregistrer le fichier.bashrc
) - Quitter le terminal et démarrer un nouveau terminal
- 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)