Warum kann Git kein Update durchführen?

370
orokusaki

Dies ist das tatsächliche Kopieren / Einfügen aus meiner Shell:

machine:~ me$ brew install git ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.2.1.mountain_lion.bottle.tar.gz ######################################################################## 100.0% ==> Pouring git-2.2.1.mountain_lion.bottle.tar.gz ==> Caveats The OS X keychain credential helper has been installed to: /usr/local/bin/git-credential-osxkeychain  The "contrib" directory has been installed to: /usr/local/share/git-core/contrib  Bash completion has been installed to: /usr/local/etc/bash_completion.d  zsh completion has been installed to: /usr/local/share/zsh/site-functions ==> Summary /usr/local/Cellar/git/2.2.1: 1356 files, 32M machine:~ me$  machine:~ me$ git --version git version 1.7.10.2 (Apple Git-33) machine:~ me$  

Ich kann Terminal schließen und wieder öffnen, aber es wird dieselbe Git-Version angezeigt.

Laufen which gitkehrt zurück /usr/bin/git. Wenn ich die Binärdatei nach verschiebe /usr/bin/git, dann git --versionerneut ausführen, wird sie zurückgegeben git version 2.2.1. Warum ersetzt das Installieren eines neuen Git nicht das alte?

0

2 Antworten auf die Frage

2
Prashant

Geben Sie export PATH="/usr/local/bin:$PATH"einen Versuch. Wenn es funktioniert, fügen Sie es Ihrer .bashrc-Datei hinzu

1
Foosh

Ich bin kein Mac / Homebrew-Experte, aber in der Regel wird bei der Installation git einfach in das eigene, versionsspezifische Verzeichnis entpackt. / usr / bin / git ist wahrscheinlich ein symbolischer Link zur eigentlichen git-Binärdatei in diesem versionsspezifischen Verzeichnis. In diesem Fall müssten Sie nur die Verknüpfung von / usr / bin / git aufheben und die Verknüpfung zum neueren Verzeichnis wiederherstellen. Wenn ich den Befehl erraten würde, ohne Ihren Verzeichnisbaum zu kennen, würde dies ungefähr so ​​aussehen:

unlink /usr/bin/git ln -s /usr/local/Cellar/git/2.2.1/bin/git /usr/bin/git