Am instalat cea mai nouă versiune de git (1.8.3) folosind homebrew, dar când scriu
git --version
în terminalul meu, imprimă:
git version 1.7.10.2 (Apple Git-33)
Ce ar trebui să fac pentru a înlocui vechea versiune a git cu cea nouă?
Comentarii
- Aveți câteva răspunsuri bune – așa că am vrut să comentez întrebarea. Căutați instrucțiuni explicite pentru a instala git din sursa de la homebrew sau un client GUI sau doar confirmarea că OS X include mai multe versiuni de git cu sistemul de operare de bază? opensource.apple.com/source/Git (FWIW – Cel mai nou git pe care l-am ‘ am văzut pachetul Apple până în prezent este 1.7.12.4 care vine de la Git-37)
Răspuns
Mulțumim tuturor pentru răspunsuri utile. În cazul meu, adăugarea
export PATH="/usr/local/bin:${PATH}"
în ~/.bash_profile
urmată de
source ~/.bash_profile
a rezolvat problema pentru utilizatorul meu.
Comentarii
- Dacă doriți ca modificarea să persiste între utilizatori, puteți muta
/usr/local/bin
deasupra/usr/bin
în/etc/paths
. - Aceasta este soluția propusă de Homebrew însuși atunci când rulează
brew doctor
pentru a diagnostica problema - acest răspuns trebuie actualizat cu soluția propusă de KevinT de definire a
/etc/paths
. Definirea numai a ” export ” s-ar putea să nu fie suficientă, dacă/usr/bin
are ” precedenta ” peste/usr/local/bin
(de la preparare) … - Rețineți pentru a reporni terminalul! Nu mi s-a întâmplat ‘ până când nu am văzut comentariul lui Juan Diego Gonzales ‘ mai jos
- @Souleiman: Restarting isn ‘ nu este necesar.
source ~/.bash_profile
va reciti acest lucru. Repornirea este probabil mai rapidă / mai ușoară. 🙂
Răspuns
Stare 2020
Toate trucurile menționate aici în mai multe răspunsuri nu mai sunt necesare pe macOS Sierra, Mojave & Catalina cu cel mai recent Homebrew. Uitați de export PATH="..."
și de modificările aduse ~/.bash_profile
.
Pur și simplu faceți
brew install git
și ați terminat.
Pentru a confirma, deschideți o nouă fereastră / filă a terminalului și tastați
git --version
Vă rugăm să nu uitați să deschideți o fereastră nouă . Terminalele care erau deschise înainte de a începe să install
nu vor moșteni nicio modificare.
Răspunde
Ok, sunt gata să devin serios în legătură cu scm.
$ git --version git version 1.9.5 (Apple Git-50.3)
Nu, nu asta vreau. Am < 3 homebrew, deci:
$ brew install git
Toate setate?
$ git --version git version 1.9.5 (Apple Git-50.3)
Doh! (zgârie capul)
$ which git /usr/bin/git
Ah, git-ul Apple se află în / usr / bin, deci îl depășește pe cel de homebrew. Ce să faci?
(A) Doar redenumiți binarul Apple
(B) Lăsați-l pe unul gestionat de homebrew să aibă prioritate:
[editați PATH export, de ex. în ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[specific: move / usr / local / bin / git: before / usr / bin:]
… și / sau (de exemplu, pentru a lăsa mai larg lucrurile homebrew să trompeze instalarea sistemului și să se aplice prioritatea tuturor shell-urilor și utilizatorilor), de asemenea, editați fișierul / etc / Path, [mutarea / usr / local / bin deasupra / usr / bin]
Dar presupunând doar cea mai simplă / mai puțin invazivă abordare:
$ sudo mv /usr/bin/git /usr/bin/git-apple
A funcționat?
$ which git /usr/local/bin/git
Până acum bine, acum este momentul adevărului:
$ git --version git version 2.2.1
w00t! 🙂 Este timpul să citești http://git-scm.com ! 🙂
Comentarii
- PS În legătură cu comentariile despre riscurile de editare / usr / bin: IMHO it ‘ s NBD. (Așa îmi place Global nomad ‘ s suggest. To do ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … care asigură că orice apelează ” / usr / bin / git ” vă va obține în mod explicit cel gestionat de prepararea berii. Dar ideea mea este că instalarea git implică că ‘ vă reveniți la proprietatea git pe sistemul dvs. , versiunea alternativă a git, ar putea fi greșită. Vă recomandăm să vă actualizați versiunile w / git (pentru securitate, nu doar funcționalități) și să le gestionați singur. Homebrew face acest lucru ușor. /$0.02
- ‘ nu funcționează pentru mine, pentru a o anula, faceți doar: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales a funcționat. (practic, urmați răspunsul acceptat, apoi reporniți terminalul).
- Chiar și cu
which git
indicând spre/usr/local/bin/git
, acest lucru nu a făcut ‘ Nu lucrez pentru mine. Pentru a rezolva acest lucru, a trebuit să dezinstalez aplicația GitHub 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
- Folosiți doar
brew doctor
. În 2020, a recomandatbrew link —overwrite git
Răspuns
Odată ce „Am instalat cel mai recent git prin brew (brew install git
), rulați acest one-liner (așa cum sugerează brew doctor
) dacă nu este” t deja acolo:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Apoi închideți Terminalul și deschideți-l din nou (reporniți sesiunea bash). Trebuie să faceți acest lucru chiar dacă PATH-ul dvs. era deja corect, deoarece ZSH și Bash păstrează în cache conținutul PATH (consultați documentația de pe comanda încorporată hash
).
Asta ar trebui să remedieze lucrurile foarte repede.
Comentarii
- Cum diferă acest lucru de răspunsul acceptat?
- În cazul meu, nu ‘ nu știam că trebuie să repornesc Terminal, astfel încât această parte să poată ajuta unii oameni. Este mai rapid decât cel acceptat datorită liniei unice. Dacă este ‘ o competiție, cred că răspunsul meu este greșit. Altfel cred că contribuie. (Spuneți-mi dacă doriți să fac o editare în loc de aceasta).
- Faceți acea linie când instalați Homebrew
- Am găsit acest răspuns util. Repornirea terminalului este o problemă neevidentă pentru mulți oameni care nu sunt familiarizați cu funcționarea .bash_profile și un memento ușor pentru ceilalți dintre noi.
- @JuanDiegoGonzales Observație excelentă! Mă întrebam exact același lucru după ce am instalat git și nu cache , am făcut ceva mai multe cercetări: unix.stackexchange.com/q/5609/52921
Răspuns
Am încercat acest lucru și funcționează pentru mine.
brew link --overwrite git
Comentarii
- A funcționat pentru mine la Mojave (10.14.4)
Răspuns
Când tastați
git --version
în Terminal.app sau consolă, comentariul dvs. la o altă întrebare a indicat versiunea return este git în / usr / bin / git
Dacă ați instalat Xcode 4.5 (și mai nou) și tastați
xcrun git --version
Terminal.app sau consolă, versiunea pe care o returnează este git din pachetul de aplicații Xcode.
Dacă utilizați Homebrew pentru a instala și actualiza git, cea mai simplă soluție este să
- asigurați-vă că aveți drepturi de administrator, deoarece vi se va solicita parola pentru administrator
-
redenumiți locația originală redenumindu-l folosind mv. De exemplu
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
creați o legătură soft folosind „ln -s” către binarul git pe care l-ați instalat cu Homebrew .
Rețineți că MattDMo are o soluție mai bună în comentarii.
Comentarii
- Este sigur 100%? Va rupe ceva legat de mac?
- Dacă urmați pașii descriși, soluția nu va
- Vă rugăm să nu ‘ nu faceți acest lucru – cu adevărat nu ar trebui să ‘ t fiți în joc cu
/usr/bin
, deoarece ‘ este posibil ca alte programe să nu le aveți ‘ Nu știu chiar despre dependența de capriciile asociate unei anumite versiuni. Cea mai ușoară soluție, fără a muta nimic, este să adăugați/usr/local/bin
la$PATH
variabila de mediu înainte de/usr/bin
– IIRC, homebrew se instalează pe/usr/local/bin
- Mulțumesc @MattDMo, care pare a fi cea mai bună abordare în acest caz.
Răspuns
Instalați git cu brew, rulați acest lucru.
brew link --force git
Închideți și redeschideți terminalul pentru a rula which git
.
Comentarii
- Cum se schimbă calea implicită?
- Acest lucru a funcționat pentru mine pentru a suprascrie xcode ‘ s git.
- Am primit o eroare când rulez acest lucru, dar
brew link --overwrite git
a funcționat
Răspuns
Trebuie să redenumiți git original de Apple în /usr/bin/
la e. g. git-org, deoarece /usr/bin
este în mod normal înainte de /usr/local/bin
în directorul de cale în care se află materialele de preparare.
Deci:
cd /usr/bin sudo mv git git-org
și nu uitați să legați brew git
brew link git
Aceasta presupune că /usr/local/bin
se află în variabila de mediu $PATH
.Dacă tot aveți probleme, încercați să rulați
brew doctor
și rezolvați problemele menționate acolo.
Comentarii
- Nu; nu redenumiți sau eliminați lucrurile din / usr / bin, deoarece ar putea rupe crengile Apple și acestea vor fi chnaged atunci când faceți o actualizare de sistem sau XCode. folosiți calea pentru care este proiectată,
- @Mark aveți un punct. Dar nu cred că veți avea probleme dacă schimbați doar git în / usr / bin. Pentru mine funcționează de câteva luni.
- Aș fi de acord că schimbarea normală a lucrurilor în / usr / bin este o veste proastă, dar nu îmi pot reaminti ‘ X utilizează de fapt git, deci răul poate fi minuscul și se referă doar la un sistem ” clean ” care se potrivește cu chitanțele. Rău ar fi o actualizare a OS X ar putea înlocui noul git cu o versiune mai veche, de unde practica normală de a localiza un nou binar în afara locației căii sistemului.
- Cred că ar fi mult mai ușor să adăugați
/usr/local/bin
(directorul de instalare homebrew ‘ s, IIRC) în$PATH
înainte de/usr/bin
în loc să înșele cu redenumirea și backupul etc.
Răspunde
Dacă instalați direct git de la git-scm.com și doriți să utilizați cea mai recentă descărcare git în loc de versiunea Apple (veche) de git.
- Instalați git de la git-scm .com
- Cel mai probabil, noul git va fi instalat în
/usr/local/bin/git
- Încercați
git --version
, dacă returnează versiunea veche Apple de git, continuați mai jos -
cd ~
(schimbați directorul în directorul dvs. de acasă) - tastați
vi .bashrc
- Folosiți
i
(pentru a insera text în editorul vi) - Dacă găsiți o linie cu
export PATH.......
, apăsați Enter pe partea de sus a exportului și tastați următoarele:export PATH=/usr/local/:$PATH
(Acordați extremă prudență cu variabilaPATH
nu o încurcați altfel va provoca probleme pentru sistemul dvs. de operare) (sperăm noul git ar trebui instalat în/usr/local/git
) - Apăsați esc
- Introduceți
:wq
(la salvați fișierul.bashrc
) - Ieșiți din terminal și porniți terminalul nou
- Acum încercați
git --version
(ar trebui să vedeți versiunea nouă)
Răspundeți
Faceți un alias simplu pentru a evita schimbarea căii:
alias git=/usr/local/bin/git
Răspuns
Am „încercat multe lucruri, inclusiv toate aceste postări” răspunsurile lui. În cele din urmă, am reușit să obțin versiunea git „brew” pentru a rula în loc de Xcode, pur și simplu ștergând folderul de instrumente suplimentare Xcode:
sudo rm -rf /Library/Developer/CommandLineTools
Răspuns
Când utilizați brew install git
pentru instalare, observați că instalează git
under:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
Veți primiți și o eroare, care apare mai devreme în jurnal și probabil că ați ratat-o:
==> 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
Executați doar:
brew link --overwrite git
și ar trebui să fiți bun.
Răspuns
Depinde de unde vine git-ul dvs. Xcode aduce o versiune, de exemplu, poate că este în avans în calea dvs.
Poate că tastați
which git
va arăta unde este vechiul.
Comentarii
- este ‘ în
/usr/bin/git
… - Asta arată ca două instalații. Cred că versiunea normală (descărcabilă) de git merge la / usr / local / git / … Este ‘ atunci o întrebare de adăugare a căii sau eliminarea celeilalte (sau ambele)