J'ai installé XCode et donc git est là aussi. Puisque je veux avoir une version plus récente de git, j'ai installé en utilisant homebrew.
Mais la version homebrew de git n'est jamais appelée car mon CHEMIN ressemble à ceci
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
ce qui signifie que le /usr/bin/git
est toujours appelé avant /usr/local/bin/git
.
Y a-t-il un moyen de changer cela sans changer le CHEMIN?
Xcode utilise en fait le GIT qui est stocké dans /Applications/Xcode.app/Contents/Developer/usr/bin
. La même version de GIT est installée dans /usr/bin
lorsque vous avez installé les outils de ligne de commande dans le cadre de l'installation de Xcode. Ainsi, vous ne pourrez pas modifier ce que Xcode utilise (à moins que vous ne vouliez vous foutre du contenu du package Xcode). Si, à partir d'une application de terminal, vous souhaitez utiliser le GIT installé en homebrew, vous avez deux options:
/usr/local/bin/git ...
Dans ce cas, vous pouvez créer un alias comme alias mgit=/usr/local/bin/git
puis utilisez mgit ...
depuis le terminalPATH=/usr/local/bin:$PATH
soit dans votre .bashrc
ou .zshrc
si vous utilisez un fichier zsh (ou chaque fois que vous démarrez un terminal sur la ligne de commande).Puisque Xcode a codé en dur sa propre version de git qui est installée sur /Applications/Xcode.app/Contents/Developer/usr/bin/git
, J'ai réussi à utiliser cette astuce:
changer dans le répertoire Xcode:
cd /Applications/Xcode.app/Contents/Developer/usr/bin
renommer le git du Xcode comme ceci:
Sudo mv ./git ./git-xcode-usr-bin
lier mon propre git qui est installé via homebrew:
Sudo ln -s /usr/local/bin/git ./git
Et j'ai fait la même chose avec /usr/bin/git
Cela liera effectivement /usr/local/Cellar/git/1.8.0/bin/git
(car j'utilise git 1.8.0 actuellement)
Cela peut certainement causer d'autres problèmes, comme lorsque je mets à jour le verion git de l'homebrew à l'avenir, cela ne fonctionnera pas pour moi :( et je dois alors créer un nouveau lien.
Je le fais comme ça parce que je veux résoudre mon propre problème ici 131772 . Et après une longue recherche sur StackOverFlow, j'ai finalement obtenu cette solution.
Si vous utilisez fish Shell au lieu de bash, vous pouvez pointer vers votre binaire git préféré en ajoutant ce qui suit à ~/.config/fish/config.fish
.
function git
/usr/local/bin/git $argv;
end