Da dove viene / usr / bin / git?


24

Ho un piccolo problema A un certo punto ho usato git ma non ricordo se è stato installato di default su Lion.

Ecco la versione e il percorso di git:

$ git --version
git version 1.7.5.4
$ which git
/usr/bin/git

Ho anche un nuovo git in / usr / local / git

Vorrei usare la versione più recente ma non so se rimuovendo quella precedente (/ usr / bin ha la precedenza nella variabile path) romperò qualcosa.

Qual è il modo corretto di risolvere questo conflitto?


9
git è installato da Xcode. Tuttavia, non posso dirti se si romperà qualcosa. Nelle tue scarpe, lo rinominerei nel caso in cui dovessi rimetterlo più tardi.
Steven Fisher,

ah ok..Beh, quello che farò è semplicemente rinominare la nuova installazione o git2 o qualcosa del genere e usarla in quel modo.
Cromestant

Intendevo rinominare quello vecchio, piuttosto che rimuoverlo. In questo modo se hai problemi puoi semplicemente rinominarlo.
Steven Fisher,

1
@StevenFisher dovresti dare una risposta. :)
Ian C.

OK. Speravo che qualcuno avrebbe avuto una vera risposta che non aveva un "Non lo so!" dentro. :)
Steven Fisher

Risposte:


26

git è installato da Xcode. Dubito che avrai dei problemi se lo sostituisci, ma non posso darti una risposta definitiva a questo ...

  1. Quello che farei è rinominare il vecchio /usr/bin/gitin git_old, quindi fare affidamento sul tuo percorso per selezionare quello nuovo.
  2. Se non funziona , sposta quello nuovo in /usr/bin. Dubito che Xcode sia esigente su quale versione di Git sta usando.
  3. Se il problema persiste , tornare git_oldindietro /usr/bin/gite utilizzare un percorso diretto, rinominare o alias per quello nuovo.

Dubito che dovrai superare il n. 1 sopra, comunque. Questo dovrebbe essere abbastanza.

Modifica: ho letto il tuo post originale al contrario. La prima cosa da fare è assicurarsi che il percorso includa la nuova directory git PRIMA della directory che contiene il vecchio git.


3 alternative: confermare che il primo ha funzionato bene.
Marius Butuc,

9

Non è necessario hackerare l'altra versione a meno che non si sia veramente a corto di spazio. Modifica il tuo .bash_profile e assicurati che / usr / local / bin si presenti davanti a / usr / bin nella tua variabile PATH

Personalmente preferisco adottare uno schema con percorsi utensile definiti e il percorso creato da questi ad es

GIT_HOME=/usr/local

PATH=${GIT_HOME}/bin:${PATH};export PATH
MANPATH=${GIT_HOME}/share/man:${MANPATH};export MANPATH

Ciò significa che tutto ciò che cerca strumenti che usano il PATH troverà la tua versione di git, e tutto ciò che "deve davvero" avere la versione / usr / bin avrà molto probabilmente quel percorso cablato e potrà ancora trovarlo


6

Ho avuto lo stesso problema: una vecchia versione di Git che era la versione Xcode. Ho provato a installare una nuova versione di Git da http://git-scm.com/ e ho aggiornato il bash_profilecon

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

Quindi ricaricare il tuo bash e provare git --version

Ha funzionato per me :)


1

Sul mio sistema (10.7.3, Xcode 4.3.2) Xcode gitnon è installato in /usr/bin/git. Tutto Xcode 4 (come tutte le app dell'App Store, credo) è nel suo pacchetto .app. In particolare, il suo git è a /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Uso sempre git (tramite Xcode) e non ne ho affatto /usr/bin/gitqui. Quindi non fa parte dell'installazione predefinita di Lion, o almeno non in quella posizione.

FWIW, il git nel bundle Xcode.app ha un --versionche dice:

versione git 1.7.7.5 (Apple Git-26)

quindi scommetto che la tua /usr/bin/gitè la tua installazione e aggiornarla non può far male a niente.

In alternativa, puoi installare Xcode (è gratuito!) E inserire /Applications/Xcode.app/Contents/Developer/usr/bin/$ PATH, ma è eccessivo se vuoi solo git.


Ho anche xcode, quindi ho tre versioni di git attualmente installate ... bella scoperta!
Cromestant,

1
se non lo hai /usr/bin/git, probabilmente non hai installato Xcode "Command Line Tools". vedi stackoverflow.com/q/9329243/152142
Justin M. Keyes,

1

Ken ha ragione in quanto git era disponibile solo attraverso il percorso Xcode.app. Quando ho installato Mountain Lion (10.8), improvvisamente ho avuto git in / usr / bin / git, quindi è stata un'aggiunta di Mountain Lion per quanto ne so ...

Sebbene ... da allora ho installato parecchie cose e non sono del tutto sicuro che non fosse una dipendenza per qualcos'altro.


0

Davvero non lo so, penso di non aver installato git o XCode per il momento, ma dopo aver installato homebrew ed eseguirlo brew doctordice:

$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

Allora perchè? Ho appena installato Command Line Tools per XCode (mountain Lion) e penso che questo sia quello che l'ha installato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.