Come utilizzare il git installato da Homebrew su Mac?

Ho installato la versione più recente di git (1.8.3) utilizzando homebrew ma quando digito

git --version 

nel mio terminale, stampa:

git version 1.7.10.2 (Apple Git-33) 

Cosa devo fare per sostituire la vecchia versione di git con quella nuova?

Commenti

  • Hai un paio di buone risposte, quindi volevo commentare la domanda. Stai cercando istruzioni esplicite per installare git dalla fonte da homebrew o da un client GUI o semplicemente la conferma che OS X raggruppa diverse versioni di git con il sistema operativo principale? opensource.apple.com/source/Git (FWIW – The newest git I ‘ ho visto il bundle Apple fino ad oggi è 1.7.12.4 che proviene da Git-37)

Answer

Grazie a tutti per le risposte utili. Nel mio caso aggiungendo

export PATH="/usr/local/bin:${PATH}" 

in ~/.bash_profile seguito da

source ~/.bash_profile 

ha risolto il problema per il mio utente.

Commenti

  • Se vuoi che la modifica persista tra gli utenti, puoi spostare /usr/local/bin sopra /usr/bin in /etc/paths.
  • Questa è la soluzione proposta dallo stesso Homebrew durante lesecuzione di brew doctor per diagnosticare il problema
  • questa risposta dovrebbe essere aggiornata con la soluzione proposta da KevinT di definire /etc/paths. Definire solo ” export ” potrebbe non essere sufficiente se /usr/bin ha ” precedenza ” su /usr/local/bin (da brew) …
  • Ricorda per riavviare il terminale! ‘ non mi è venuto in mente finché non ho visto il ‘ commento di Juan Diego Gonzales di seguito
  • @Souleiman: Restarting isn ‘ t necessario. source ~/.bash_profile lo rileggerà. Il riavvio è probabilmente più veloce / più facile. 🙂

Risposta

Stato 2020

Tutti i trucchi menzionati qui in diverse risposte non sono più necessari su macOS Sierra, Mojave & Catalina con lultimo Homebrew. Dimentica export PATH="..." e le modifiche a ~/.bash_profile.

Devi semplicemente

brew install git 

e il gioco è fatto.

Per confermare, apri una nuova finestra / scheda del terminale e digita

git --version 

Non dimenticare di aprire una nuova finestra. I terminali che erano aperti prima di iniziare a install non erediteranno alcuna modifica.

Risposta

Ok, sono pronto a fare sul serio con scm.

$ git --version git version 1.9.5 (Apple Git-50.3) 

No, non è quello che volevo. Ho < 3 homebrew, quindi:

$ brew install git 

Tutto pronto?

$ git --version git version 1.9.5 (Apple Git-50.3) 

Doh! (graffi la testa)

$ which git /usr/bin/git 

Ah, il git di Apple è in / usr / bin, quindi supera quello homebrew. Cosa fare?

(A) Rinomina semplicemente il binario di Apple

(B) Lascia che quello gestito da homebrew abbia la precedenza:

[modifica esportazione PATH es in ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]

[specificatamente: move / usr / local / bin / git: before / usr / bin:]

… e / o (ad esempio, per lasciare che le cose homebrew prevalgano sulle installazioni di sistema e avere la precedenza per tutte le shell e gli utenti) modifica anche il file / etc / Routes, [spostando / usr / local / bin sopra / usr / bin]

Ma assumendo solo lapproccio più semplice / meno invasivo:

$ sudo mv /usr/bin/git /usr/bin/git-apple 

Ha funzionato?

$ which git /usr/local/bin/git 

Fin qui tutto bene, ora il momento della verità:

$ git --version git version 2.2.1 

w00t! 🙂 È ora di leggere http://git-scm.com ! 🙂

Commenti

  • PS Rel a commenti sui rischi di modifica / usr / bin: IMHO it ‘ s NBD. (Anche se mi piace Global nomad ‘ s suggerisce di fare ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … che garantisce che tutto ciò che chiama ” / usr / bin / git ” esplicitamente otterrà il tuo programma gestito dalla birra. Ma la mia opinione è che linstallazione di git implica che ‘ stai assumendo la proprietà di git sul tuo sistema. Si preoccupa dei processi sconosciuti che utilizzano un vecchio , versione alternativa di git, potrebbe essere fuori luogo. Consiglio di tenerti aggiornato con le versioni di git (per sicurezza, non solo per le funzionalità) e di gestirlo da solo. Homebrew lo rende facile. /$0.02
  • Questo non ‘ Per me non funziona, per annullarlo basta fare: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ il commento ha funzionato (in pratica, segui la risposta accettata e riavvia il terminale).
  • Anche con which git che punta a /usr/local/bin/git, questo non ‘ Non funziona per me. Per risolvere questo problema, ho dovuto disinstallare lapp GitHub per Mac.
  • MacOS 10.12.5: sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
  • Usa solo brew doctor. Nel 2020, ha consigliato brew link —overwrite git

Risposta

una volta “ho installato lultima versione di git tramite brew (brew install git), esegui questo one-liner (come suggerito da brew doctor) se non lo è già lì:

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile 

Quindi esci da Terminale e aprilo di nuovo (riavvia la tua sessione bash). Devi farlo anche se il tuo PATH era già corretto, poiché ZSH e Bash memorizzano nella cache i contenuti di PATH (consulta la documentazione sul comando integrato hash).

Questo dovrebbe risolvere le cose molto velocemente.

Commenti

  • In che cosa differisce dalla risposta accettata?
  • In nel mio caso, non ‘ sapevo di dover riavviare Terminal, quindi quella parte potrebbe aiutare alcune persone. È più veloce di quello accettato grazie allunico rivestimento. Se ‘ è un concorso, penso che la mia risposta sia fuori luogo. Altrimenti penso che contribuisca. (Dimmi se vuoi che apporti una modifica invece di questa).
  • Fai quella riga quando installi Homebrew
  • Ho trovato utile questa risposta. Il riavvio del terminale è un problema non ovvio per molte persone che non hanno familiarità con il funzionamento di .bash_profile e un gentile promemoria per il resto di noi.
  • @JuanDiegoGonzales Ottima osservazione! Mi chiedevo esattamente la stessa cosa dopo aver installato git e ‘ non sapevo perché. Dopo il suggerimento sulla cache , ho svolto ulteriori ricerche: unix.stackexchange.com/q/5609/52921

Risposta

Ho provato questo e per me funziona.

brew link --overwrite git 

Commenti

  • Ha funzionato per me su Mojave (10.14.4)

Risposta

Quando digiti

git --version 

in Terminal.app o console, il tuo commento su unaltra domanda indicava la versione restituisce il git in / usr / bin / git

Se hai installato Xcode 4.5 (e più recente) e digita

xcrun git --version 

in Terminal.app o console, la versione che restituisce è git nel bundle dellapp Xcode.

Se stai usando Homebrew per installare e aggiornare git, la soluzione più semplice è

  1. assicurati di disporre dei diritti di amministratore poiché ti verrà chiesta la password per lamministratore
  2. rinomina la posizione originale rinominandola usando mv. Ad esempio

    sudo mv / usr / bin / git / usr / bin / git-ORIGINAL

  3. crea un collegamento software usando “ln -s” al binario git che hai installato con Homebrew .

Nota che MattDMo ha una soluzione migliore nei commenti.

Commenti

  • È sicuro al 100%? Interromperà qualcosa relativo a Mac?
  • Se segui i passaggi descritti, la soluzione ‘ non interromperà nulla di preinstallato poiché quegli eseguibili git non vengono eliminati. Questo è il motivo per cui al passaggio 2 dovresti rinominare il tuo / usr / bin / git originale per es. come /usr/bin/git.BACKUP
  • Per favore, non ‘ t farlo – non dovresti davvero ‘ t stai scherzando con /usr/bin, poiché ‘ è possibile che altri programmi tu non ‘ Non so nemmeno dipendere dai capricci associati a una particolare versione. La soluzione più semplice, senza spostare nulla, è aggiungere /usr/local/bin alla tua $PATH variabile di ambiente prima di /usr/bin – IIRC, homebrew si installa su /usr/local/bin
  • Grazie @MattDMo, sembra essere lapproccio migliore in questo caso.

Risposta

Installa git con brew, esegui questo.

brew link --force git

Chiudi e riapri il terminale per eseguire which git.

Commenti

  • In che modo questo cambia il percorso predefinito?
  • Questo ha funzionato per me sovrascrivere xcode ‘ s git.
  • Ho ricevuto un errore durante lesecuzione questo ma brew link --overwrite git ha funzionato

Risposta

Devi rinominare il git originale di Apple in /usr/bin/ in e. g. git-org poiché /usr/bin è normalmente prima di /usr/local/bin nella directory del percorso in cui si trova la roba della birra.

Quindi:

cd /usr/bin sudo mv git git-org 

e non dimenticare di collegare il brew git

brew link git 

Questo presuppone che /usr/local/bin si trova nella tua $PATH variabile dambiente.Se hai ancora problemi, prova a eseguire

brew doctor 

e risolvi i problemi menzionati.

Commenti

  • Non rinominare o modificare le cose in / usr / bin in quanto potrebbe rompere i meccanismi di Apple e verranno modificati quando esegui un aggiornamento di sistema o XCode. usa il percorso per cui è stato progettato,
  • @Mark hai ragione. Ma non credo che avrai problemi se cambi solo git in / usr / bin. Per me funziona per diversi mesi.
  • Concordo sul fatto che normalmente cambiare le cose in / usr / bin sia una cattiva notizia, ma non posso ‘ richiamare il sistema operativo X utilizza effettivamente git, quindi il danno potrebbe essere minuscolo e riguardare solo un sistema ” clean ” che corrisponde alle ricevute. Il danno sarebbe che un aggiornamento a OS X potrebbe sostituire il nuovo git con una versione precedente, da qui la normale pratica di individuare un nuovo binario al di fuori della posizione del percorso di sistema.
  • Penso che sarebbe molto più facile aggiungere /usr/local/bin (homebrew ‘ s directory di installazione, IIRC) nella $PATH prima di /usr/bin invece di perdere tempo con la ridenominazione e il backup, ecc.

Rispondi

Se stai installando git direttamente da git-scm.com e desideri utilizzare lultima versione scaricata di git invece della versione apple (vecchia) di git.

  1. Installa git da git-scm .com
  2. Molto probabilmente il nuovo git verrà installato in /usr/local/bin/git
  3. Prova git --version, se restituisce la vecchia versione Apple di git, procedi di seguito
  4. cd ~ (cambia la directory nella tua home directory)
  5. digita vi .bashrc
  6. Utilizza i (per inserire testo nelleditor vi)
  7. Se trovi una riga con export PATH......., premi Invio sopra lesportazione e digita quanto segue: export PATH=/usr/local/:$PATH (presta estrema cautela con la variabile PATH non rovinare altrimenti causerà problemi al tuo sistema operativo) (si spera il nuovo git dovrebbe essere installato in /usr/local/git)
  8. Premere esc
  9. Invio :wq (per salva il file .bashrc)
  10. Esci dal terminale e avvia un nuovo terminale
  11. Ora prova git --version (dovresti vedere la nuova versione)

Answer

Crea un semplice alias per evitare di cambiare percorso:

alias git=/usr/local/bin/git 

Risposta

Ho “provato molte cose, incluso tutto questo post” risposte di s. Finalmente sono riuscito a far girare la versione brew di git invece di Xcode semplicemente eliminando la cartella degli strumenti aggiuntivi di Xcode:

sudo rm -rf /Library/Developer/CommandLineTools

Risposta

Quando utilizzi brew install git per linstallazione, nota che installa git in:

 ==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB  

Lo farai ricevi anche un errore, che appare in precedenza nel registro e probabilmente te lo sei perso:

 ==> Downloading https://homebrew.bintray.com/bottles/git-2.29.2.big_sur.bottle.t Already downloaded: /Users/chadjinik/Library/Caches/Homebrew/downloads/08165d120fcebc7823c487a6778b2ea0e67fd2cd9177d6e7d656268f474ab5da--git-2.29.2.big_sur.bottle.tar.gz ==> Pouring git-2.29.2.big_sur.bottle.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/git Target /usr/local/bin/git already exists. You may want to remove it: rm "/usr/local/bin/git" To force the link and overwrite all conflicting files: brew link --overwrite git  

Esegui:

 brew link --overwrite git  

e dovresti essere bravo.

Risposta

Dipende da dove proviene il tuo git. Xcode porta una versione per esempio, forse questa è in anticipo nel tuo percorso.

Forse digitando

which git 

verrà mostrato dove si trova il vecchio.

Commenti

  • è ‘ in /usr/bin/git
  • Sembra due installazioni. Penso che la versione normale (scaricabile) di git vada in / usr / local / git / … ‘ è quindi questione di aggiungerla al percorso o rimuovere laltro (o entrambi)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *