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.