2013-02-24 9 views
5

Ich bin auf OSX 10.8.2 und ich bin mit git git v1.7.4.4Wie meine Version von git auf OSX 10.8

ich gerade installiert git auf einem Remote-Server und es ist Version 1.11 zu aktualisieren. x. Ich bin ich möchte die gleiche Version der Software laufen lassen, aber ich kann nicht herausfinden, wie ich git auf meinem Laptop aktualisiere.

ich versucht, die Schritte zu folgen here aufgeführt, die die git-OSX-installer zum Download anweisen, führen Sie die Installation (die lief reibungslos) und dann tun:

$ sudo mkdir -p /usr/local/bin 
$ sudo ln -s /usr/local/git/bin/git /usr/local/bin/git 

Hernach ich git --version und es ist immer noch 1.7. 4.4. Habe ich gerade die gleiche Version neu installiert? Oder habe ich irgendwo anders eine neuere Version installiert?

Ich habe ähnliche Fragen gelesen und ich denke, das Problem ist, dass OSX mit einer alten Version von git an einem anderen Ort installiert wird, als git-osx-installer oder mac ports es an einem anderen Ort installiert. Aber ich bin mir nicht sicher, wie ich das korrigieren soll. Vielen Dank im Voraus für Ihren Rat.

Update:

which git kehrt: /usr/bin/git

echo $PATH Rückkehr: /opt/local/bin:/opt/local/sbin:/usr/local/RVM/Edelsteine /ruby-1.9.3-p194/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin :/usr/lokal/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/lokal/bin:/usr/local/git/bin:/opt/sm/bin:/opt/sm/pkg/aktiv/bin:/opt/sm/pkg/aktiv/sbin

Update2:

ESL ~/Downloads$ export PATH=/usr/local/bin:$PATH 
ESL ~/Downloads$ which git 
/usr/local/bin/git 
ESL ~/Downloads$ 
ESL ~/Downloads$ git --version 
git version 1.8.1.3 

Es scheint, ich habe die neuere Git-Version in lokalen installiert. Also sollte ich die export PATH=/usr/local/bin:$PATH zu meinem .bash_profile hinzufügen? Ist es ein Problem, dass beide Versionen von Git installiert sind?

Ich habe export PATH=/usr/local/bin:$PATH am Ende meiner ~/.bash_profile hinzugefügt und jetzt läuft die neue Version von Git.

+0

Was ist 'was git'Anzeige? Enthält das Ergebnis von 'echo $ PATH' '/ usr/local/bin'? –

+0

Ich habe beide zu der obigen Frage hinzugefügt. – emersonthis

Antwort

16

Da/usr/bin vor/usr/local/bin in Ihrem Pfad angezeigt wird, wird die ausführbare Datei git in/usr/bin Vorrang haben. versucht, dies in der Shell:

export PATH=/usr/local/bin:$PATH 
which git 

Auf einer Seite zur Kenntnis, würde ich empfehlen, homebrew Verwendung für Installationen wie diese auf macos

+0

Ich habe oben die Ergebnisse Ihres Tests mit einigen entsprechenden Fragen hinzugefügt. – emersonthis

+0

Nein, es ist kein Problem, dass Sie beide Versionen installiert haben - Sie können diese Export-Zeile in Ihre ~/.bashrc einfügen und von da an wird die Version in/usr/local/bin immer Vorrang haben. –

+0

An diesem Punkt, sollte ich noch Homebrew in Betracht ziehen oder einfach lassen, was ich habe? Ich weiß nicht viel über Paketmanager, also würde ich neugierig sein, warum Sie es dringend empfohlen haben. – emersonthis

3

Ich hatte ein ähnliches Problem in Cygwin (Linux-Umgebung für Windows kompiliert). Ich würde tun

which git 

und es wäre mit der korrekten Position der aktualisierten git aus den Quellen kompiliert reagieren, aber wäre es nicht wirklich nutzen, bis ich

hash -r git 

habe ich behaupte nicht, zu verstehen, was das getan hat oder warum es getan werden musste, aber danach antwortete git --version mit '1.8.2.rc0.22.gb3600c3' was eindeutig nicht mehr der alte Git war, der mit Cygwin ausgeliefert wurde. Dies gilt möglicherweise nicht für OSX, aber versuchen Sie es, wenn which git die aktualisierte Binärdatei findet.

+0

Ich fügte meiner Frage mein 'what git' und einen' $ PATH' hinzu. Ändert das deinen Rat überhaupt? – emersonthis

+0

Nicht wirklich, versuche einfach 'hash -r git' und dann siehst du was' git --version' dir gibt. – Ehryk

+0

Danke! Mir war nicht bewusst, dass Shell Hash-Tabellen zum Speichern von ausführbaren Pfaden verwendet. Sie können die Shell auch neu starten, es wird auch die Hash-Tabelle gelöscht. Für weitere Details: http://crashingdaily.wordpress.com/2008/04/21/hashing-the-executables-a-look-at-hash-and-type/ – HyBRiD

17

Der beste Weg, um jeden binären auf einer Mac OSX Maschine Verwaltung zu aktualisieren ist die Verwendung der Pakete, die speziell für Mac entwickelt wurden (ein .dmg oder .pkg Download).

Im Fall von Git ist dies: http://git-scm.com/download/mac (Klicken Sie auf diesen Link sollte automatisch den Download der neuesten Version von Git für Mac).

jedoch in diesem Fall (zumindest für meinen 10.8.3 MacBook) war dies nicht ganz die ganze Geschichte: das Paket installiert git in /usr/local/git und fügt dann diesen Weg am Ende des $PATH - die IMO des ganzen Zweck besiegt .

Ich habe geändert manuell mein .bashrc, um etwas Ähnliches zu dem, was oben vorgeschlagen:

export PATH=/usr/local/git/bin:$PATH 

Sobald Sie das tun, sollten Sie die richtige Version von git sehen Pflücken:

$ git --version 
git version 1.8.2.2 

Beachten Sie, dass dies nicht für jede App funktioniert, die interaktiv gestartet wird (z. B. über die Docking-Leiste) - Sie müssen das zusätzliche Skript ausführen, das im heruntergeladenen Paket enthalten ist. Anweisungen finden Sie unter README.

+0

Gibt es eine einfache Möglichkeit, diese Änderung rückgängig zu machen? Ich möchte nur testen, ob eine andere Methode, die ich ausprobiert habe, funktioniert. – reem