Cum se folosește git-ul instalat Homebrew pe Mac?

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 recomandat brew 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ă

  1. asigurați-vă că aveți drepturi de administrator, deoarece vi se va solicita parola pentru administrator
  2. redenumiți locația originală redenumindu-l folosind mv. De exemplu

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

  3. 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.

  1. Instalați git de la git-scm .com
  2. Cel mai probabil, noul git va fi instalat în /usr/local/bin/git
  3. Încercați git --version, dacă returnează versiunea veche Apple de git, continuați mai jos
  4. cd ~ (schimbați directorul în directorul dvs. de acasă)
  5. tastați vi .bashrc
  6. Folosiți i (pentru a insera text în editorul vi)
  7. 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 variabila PATH nu o încurcați altfel va provoca probleme pentru sistemul dvs. de operare) (sperăm noul git ar trebui instalat în /usr/local/git)
  8. Apăsați esc
  9. Introduceți :wq (la salvați fișierul .bashrc)
  10. Ieșiți din terminal și porniți terminalul nou
  11. 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)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *