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 consigliatobrew 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 è
- assicurati di disporre dei diritti di amministratore poiché ti verrà chiesta la password per lamministratore
-
rinomina la posizione originale rinominandola usando mv. Ad esempio
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
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.
- Installa git da git-scm .com
- Molto probabilmente il nuovo git verrà installato in
/usr/local/bin/git
- Prova
git --version
, se restituisce la vecchia versione Apple di git, procedi di seguito -
cd ~
(cambia la directory nella tua home directory) - digita
vi .bashrc
- Utilizza
i
(per inserire testo nelleditor vi) - 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 variabilePATH
non rovinare altrimenti causerà problemi al tuo sistema operativo) (si spera il nuovo git dovrebbe essere installato in/usr/local/git
) - Premere esc
- Invio
:wq
(per salva il file.bashrc
) - Esci dal terminale e avvia un nuovo terminale
- 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)