Hoe gebruik je de Homebrew geïnstalleerde git op Mac?

Ik heb de nieuwste versie van git (1.8.3) geïnstalleerd met homebrew maar als ik typ

git --version 

in mijn terminal, het print:

git version 1.7.10.2 (Apple Git-33) 

Wat moet ik doen om de oude versie van git te vervangen door de nieuwe?

Opmerkingen

  • Je hebt een paar goede antwoorden – dus ik wilde een opmerking maken over de vraag. Ben je op zoek naar expliciete instructies om git vanaf de broncode te installeren vanaf homebrew of een GUI-client of gewoon om bevestiging dat OS X verschillende versies van git bundelt met het kernbesturingssysteem? opensource.apple.com/source/Git (FWIW – De nieuwste git I ‘ heb Apple-bundel tot nu toe gezien is 1.7.12.4 die afkomstig is van Git-37)

Antwoord

Iedereen bedankt voor de nuttige antwoorden. In mijn geval

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

toevoegen in ~/.bash_profile gevolgd door

source ~/.bash_profile 

loste het probleem voor mijn gebruiker op.

Reacties

  • Als je wilt dat de verandering blijvend is voor alle gebruikers, kun je /usr/local/bin boven /usr/bin in /etc/paths.
  • Dit is de voorgestelde oplossing door Homebrew zelf bij het uitvoeren van brew doctor om het probleem te diagnosticeren
  • dit antwoord moet worden bijgewerkt met de door KevinT voorgestelde oplossing om /etc/paths. Het definiëren van alleen de ” export ” is misschien niet voldoende als /usr/bin ” prioriteit ” boven /usr/local/bin (van brouwsel) …
  • Onthoud om terminal opnieuw te starten! Kwam ‘ niet bij me op totdat ik de opmerking van Juan Diego Gonzales ‘ hieronder zag
  • @Souleiman: Restarting isn ‘ t nodig. source ~/.bash_profile zal dat herlezen. Opnieuw opstarten is waarschijnlijk gewoon sneller / gemakkelijker. 🙂

Antwoord

Status 2020

Alle trucs die hier in verschillende antwoorden worden genoemd zijn niet meer nodig op macOS Sierra, Mojave & Catalina met de nieuwste Homebrew. Vergeet export PATH="..." en aanpassingen aan ~/.bash_profile.

Je hoeft alleen maar

brew install git 

en je bent “klaar.

Om te bevestigen, open een nieuw terminalvenster / tabblad en typ

git --version 

Vergeet niet om een nieuw venster te openen. Terminals die open waren voordat u begon met install, zullen geen wijzigingen overnemen.

Antwoord

Oké, ik ben klaar om serieus te worden over scm.

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

Nee, dat is niet wat ik wilde. Ik < 3 homebrew, dus:

$ brew install git 

Helemaal klaar?

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

Ooh! (krabt hoofd)

$ which git /usr/bin/git 

Ah, Apples git zit in / usr / bin, dus het overtreft de homebrew. Wat te doen?

(A) Hernoem gewoon het binaire bestand van Apple

(B) Laat een homebrew beheerde voorrang krijgen:

[bewerk PATH export bv. in ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]

[specifiek: verplaats / usr / local / bin / git: voor / usr / bin:]

… en / of (bijv. om homebrew-dingen meer in het algemeen de systeeminstallaties te laten overtreffen, en de voorrang van toepassing te laten zijn op alle shells en gebruikers) ook het bestand / etc / paden bewerken, [moving / usr / local / bin hierboven / usr / bin]

Maar uitgaande van de eenvoudigste / minst invasieve benadering:

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

Heeft het gewerkt?

$ which git /usr/local/bin/git 

Tot zover, nu het moment van de waarheid:

$ git --version git version 2.2.1 

w00t! 🙂 Tijd om te gaan lezen http://git-scm.com ! 🙂

Opmerkingen

  • PS Rel naar opmerkingen over de risicos van het bewerken van / usr / bin: IMHO it ‘ s NBD. (Maar ik hou wel van Global nomad ‘ s sugg. To do ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … wat ervoor zorgt dat alles wat ” / usr / bin / git ” krijgt expliciet uw door brouwerij beheerde versie. Maar mijn mening is dat het installeren van git impliceert dat u ‘ eigenaar wordt van git op uw systeem. Zorgen over onbekende processen met een oudere , alternatieve versie van git, is misschien misplaatst. Ik raad aan om up-to-date te blijven met git-versies (voor veiligheid, niet alleen voor functies), en het zelf te beheren. Homebrew maakt dit gemakkelijk. /$0.02
  • Dit deed het niet ‘ t werk voor mij, om het ongedaan te maken, doe je gewoon: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ s opmerking werkte. (in principe, volg het geaccepteerde antwoord en start de terminal opnieuw).
  • Zelfs als which git verwijst naar /usr/local/bin/git, is dit niet ‘ t werk voor mij. Om dit op te lossen, moest ik de GitHub Mac-app verwijderen.
  • 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
  • Gebruik gewoon brew doctor. In 2020 adviseerde het brew link —overwrite git

Answer

Zodra u “heb de laatste git geïnstalleerd via brew (brew install git), voer deze one-liner uit (zoals voorgesteld door brew doctor) als het niet” t is er al:

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

Sluit Terminal en open het opnieuw (herstart je bash-sessie). U moet dit zelfs doen als uw PATH al correct was, aangezien ZSH en Bash de inhoud van PATH in de cache plaatsen (zie de documentatie over het ingebouwde commando hash).

Dat zou dingen heel snel moeten oplossen.

Opmerkingen

  • Hoe verschilt dit van het geaccepteerde antwoord?
  • In in mijn geval wist ik niet ‘ dat ik Terminal moest herstarten, dus dat deel kan sommige mensen helpen. Is sneller dan geaccepteerd vanwege de enige voering. Als het ‘ een wedstrijd is, denk ik dat mijn antwoord misplaatst is. Anders denk ik dat het bijdraagt. (Vertel me of je wilt dat ik een bewerking aanbreng in plaats van deze).
  • Je doet die ene voering wanneer je Homebrew installeert
  • Ik vond dit antwoord nuttig. Het opnieuw opstarten van de terminal is een niet voor de hand liggend probleem voor veel mensen die niet bekend zijn met de werking van .bash_profile, en een vriendelijke herinnering voor de rest van ons.
  • @JuanDiegoGonzales Uitstekende observatie! Ik vroeg me precies hetzelfde af nadat ik git had geïnstalleerd en ‘ niet wist waarom. Na de cache -hint deed ik wat meer onderzoek: unix.stackexchange.com/q/5609/52921

Antwoord

Ik heb dit geprobeerd en het werkt voor mij.

brew link --overwrite git 

Reacties

  • Werkte voor mij op Mojave (10.14.4)

Antwoord

Wanneer u

git --version 

typt in Terminal.app of console, gaf uw opmerking op een andere vraag de versie aan return is de git in / usr / bin / git

Als je Xcode 4.5 (en nieuwer) hebt geïnstalleerd, en typ

xcrun git --version 

in Terminal.app of console, de versie die het retourneert is de git in de Xcode app-bundel.

Als je Homebrew gebruikt om git te installeren en bij te werken, is de eenvoudigste oplossing om

  1. zorg ervoor dat u beheerdersrechten heeft aangezien u om het wachtwoord voor de beheerder wordt gevraagd.
  2. hernoem de oorspronkelijke locatie door deze te hernoemen met mv. Bijvoorbeeld

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

  3. maak een zachte link met “ln -s” naar het git-binaire bestand dat je hebt geïnstalleerd met Homebrew .

Merk op dat MattDMo een betere oplossing heeft in de commentaren.

Commentaren

  • Is dit 100% veilig? Zal het iets breken wat Mac gerelateerd is?
  • Als je de beschreven stappen volgt, zal de oplossing ‘ niets breken dat vooraf is geïnstalleerd, aangezien die uitvoerbare bestanden van Git niet worden verwijderd. Dit is waarom je bij stap 2 je originele / usr / bin / git zou moeten hernoemen voor bijv. als /usr/bin/git.BACKUP
  • Gelieve ‘ niet te doen – u zou echt niet ‘ t rommelen met /usr/bin, aangezien het ‘ mogelijk is dat andere programmas die u niet gebruikt ‘ Ik weet zelfs niet dat het afhankelijk is van grillen in verband met een bepaalde versie. De eenvoudigste oplossing, zonder iets te verplaatsen, is om /usr/local/bin toe te voegen aan uw $PATH omgevingsvariabele vóór /usr/bin – IIRC, homebrew installeert op /usr/local/bin
  • Bedankt @MattDMo, dat lijkt in dit geval de beste aanpak.

Answer

Installeer git met brew, en voer dit uit.

brew link --force git

Terminal sluiten en opnieuw openen om which git uit te voeren.

Reacties

  • Hoe verandert dat het standaardpad?
  • Dit werkte voor mij om xcode ‘ s git te overschrijven.
  • Ik kreeg een foutmelding tijdens het draaien dit maar brew link --overwrite git werkte

Antwoord

Je moet de naam wijzigen de originele git by apple in /usr/bin/ naar e. g. git-org aangezien /usr/bin normaal voor /usr/local/bin staat in je paddirectory waar het brouwsel is.

Dus:

cd /usr/bin sudo mv git git-org 

en vergeet niet om de brew git te koppelen

brew link git 

Dit veronderstelt dat /usr/local/bin staat in uw $PATH omgevingsvariabele.Als u nog steeds problemen ondervindt, probeer dan

brew doctor 

uit te voeren en los de daar genoemde problemen op.

Opmerkingen

  • Verander de naam of verander de dingen in / usr / bin niet, omdat het Apple-thigs zou kunnen breken en ze zullen worden gewijzigd als je een systeem- of XCode-update uitvoert. gebruik het pad waarvoor het is ontworpen,
  • @Mark je hebt een punt. Maar ik geloof niet dat je problemen zult krijgen als je alleen git in / usr / bin verandert. Voor mij werkt het een aantal maanden.
  • Ik ben het ermee eens dat het normaal gesproken slecht nieuws is om dingen in / usr / bin te veranderen, maar ik kan ‘ het besturingssysteem niet herinneren X gebruikt eigenlijk git, dus de schade daar kan minuscuul zijn en alleen betrekking hebben op een ” schoon ” systeem dat overeenkomt met de ontvangsten. De schade zou zijn dat een update van OS X de nieuwe git zou kunnen vervangen door een oudere versie, vandaar de normale gewoonte om een nieuw binair bestand buiten de systeempadlocatie te lokaliseren.
  • Ik denk dat het veel gemakkelijker zou zijn om toe te voegen /usr/local/bin (homebrew ‘ s installatiedirectory, IIRC) naar de $PATH vóór /usr/bin in plaats van te rotzooien met hernoemen en back-ups maken, enz.

Antwoord

Als je git direct vanaf git-scm.com installeert en je zou de laatst gedownloade git willen gebruiken in plaats van de Apple (oude) versie van git.

  1. Installeer git vanuit git-scm .com
  2. Waarschijnlijk zal nieuwe git worden geïnstalleerd in /usr/local/bin/git
  3. Probeer git --version, als het de oude Apple-versie van git teruggeeft, ga dan hieronder verder
  4. cd ~ (verander directory naar je homedirectory)
  5. typ vi .bashrc
  6. Gebruik i (om tekst in vi-editor in te voegen)
  7. Als je een regel vindt met export PATH......., druk dan op enter bovenaan de export en typ het volgende: export PATH=/usr/local/:$PATH (Wees uiterst voorzichtig met de PATH variabele, verpest het niet anders zal het problemen veroorzaken voor uw besturingssysteem) (hopelijk new git moet worden geïnstalleerd in /usr/local/git)
  8. Druk op esc
  9. Typ :wq (naar sla het .bashrc bestand op)
  10. Verlaat de terminal en start een nieuwe terminal
  11. Probeer nu git --version (je zou een nieuwe versie moeten zien)

Answer

Gebruik een eenvoudige alias om te voorkomen dat je het pad verandert:

alias git=/usr/local/bin/git 

Antwoord

Ik “heb veel dingen geprobeerd, inclusief al dit bericht” s antwoorden. Eindelijk was ik in staat om brews versie van git te laten draaien in plaats van Xcodes door simpelweg de map met extra tools van Xcode te verwijderen:

sudo rm -rf /Library/Developer/CommandLineTools

Antwoord

Wanneer u brew install git gebruikt voor de installatie, let er dan op dat het git onder:

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

U zult krijg ook een foutmelding, die eerder in het logboek verschijnt en waarschijnlijk heb je deze gemist:

 ==> 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  

Start gewoon:

 brew link --overwrite git  

en je zou braaf moeten zijn.

Antwoord

Het hangt ervan af waar je git vandaan komt. Xcode brengt bijvoorbeeld een versie, misschien staat dat vooraf op je pad.

Misschien typen

which git 

zal laten zien waar de oude is.

Opmerkingen

  • het ‘ s in /usr/bin/git
  • Dat lijkt op twee installaties. Ik denk dat de normale (downloadbare) git-versie naar / usr / local / git / … gaat. Het ‘ is dan een kwestie van dat aan het pad toevoegen of de andere verwijderen (of beide)

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *