2012-05-04 26 views
42

Ho installato XCode e quindi git è anche lì. Dal momento che voglio avere una versione più recente di git ho installato usando homebrew.override git da Xcode con versione homebrew

Ma la versione homebrew di git non viene mai chiamato dal mio cammino simile a questa

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

che significa che il /usr/bin/git viene chiamato allways prima /usr/local/bin/git.

C'è un modo per cambiarlo senza modificare il PERCORSO?

+0

Ho creato questo script per fare in modo che Xcode utilizzi l'installazione locale di Git in/usr/local/bin. Controlla. https://gist.github.com/4659915 – Baub

risposta

55

Xcode sta attualmente utilizzando il GIT memorizzato in /Applications/Xcode.app/Contents/Developer/usr/bin. La stessa versione di GIT viene installata in /usr/bin quando si installano gli strumenti da riga di comando come parte dell'installazione di Xcode. Quindi, non sarai in grado di cambiare ciò che Xcode sta usando (a meno che tu non voglia perdere tempo con il contenuto del pacchetto Xcode). Se, da un'applicazione terminale, che si desidera utilizzare il GIT homebrew-installato, allora hai due opzioni:

  1. Riferimento GIT con il percorso completo come /usr/local/bin/git ... Per questo caso è possibile creare un alias come alias mgit=/usr/local/bin/git e quindi utilizzare mgit ... dal terminale
  2. Modificare il percorso come PATH=/usr/local/bin:$PATH nel proprio .bashrc o .zshrc se si utilizza il file zsh (o ogni volta che si avvia un terminale sulla riga di comando).
+1

Grazie per la risposta. Dopo tutto ho cambiato il 'PATH' in'/etc/paths'. – BetaRide

+0

correlati: http://stackoverflow.com/questions/5364614/is-there-a-problem-with-having-usr-local-bin-before-usr-bin-on-the-path-in-os –

+4

On OS X Mountain Lion, io uso ".bash_profile" invece di ".bashrc" - Lo sto facendo da anni, anche se non so dove l'ho imparato, o perché funziona (e .bashrc no.) –

13

Dal Xcode difficile codificato la propria versione di git installato su /Applications/Xcode.app/Contents/Developer/usr/bin/git, sono riuscito a utilizzare questo lavoro intorno trucco:

  1. cambiamento nella directory Xcode:

    cd /Applications/Xcode.app/Contents/Developer/usr/bin

  2. rinominare il git di Xcode in questo modo:

    sudo mv ./git ./git-xcode-usr-bin

  3. collegamento mia git che viene installato tramite homebrew:

    sudo ln -s /usr/local/bin/git ./git

e ho fatto la stessa cosa con /usr/bin/git

Ciò acctually collegherà /usr/local/Cellar/git/1.8.0/bin/git (perché io' m uso git 1.8.0 al momento)

Cert solo questo potrebbe causare altri problemi, come quando aggiornerò il guru di verion di homebrew in futuro, non funzionerebbe per me :(e devo quindi creare un nuovo collegamento.

Faccio questo perché voglio risolvere il mio problema qui 13177203. E dopo aver cercato StackOverFlow per un lungo periodo, ho finalmente ottenuto questa soluzione.

+2

Mentre in generale evito di fare scherzi con pacchetti come questo, ho usato questa risposta. A causa della modifica delle opzioni 'push.default' in git 1.8, Xcode mi ha dato il seguente errore e non mi ha permesso di aggiungere risorse al mio progetto:' error: valore errato per push.default: semplice. errore: deve essere uno di niente, corrispondente, tracciamento o corrente. fatale: file di configurazione errato, riga 7 di .gitconfig'. L'altra opzione sarebbe stata di cambiare il mio gitconfig alle impostazioni 1.7. – towynlin

7

Se si utilizza fish shell anziché bash, è possibile puntare al proprio binario git preferito aggiungendo quanto segue a ~/.config/fish/config.fish.

function git 
    /usr/local/bin/git $argv; 
end 
+0

Ha funzionato come un fascino! Grazie per questo suggerimento. Non sapevo che potessi farlo in un guscio di pesce. È molto utile – Leif