Hvordan bruker jeg den Homebrew-installerte giten på Mac?

Jeg har installert den nyeste versjonen av git (1.8.3) ved hjelp av hjemmebrygging, men når jeg skriver

git --version 

i terminalen min, den skrives ut:

git version 1.7.10.2 (Apple Git-33) 

Hva skal jeg gjøre for å erstatte den gamle versjonen av git med den nye?

Kommentarer

  • Du har et par gode svar – så jeg ville kommentere spørsmålet. Leter du etter eksplisitte instruksjoner for å installere git fra kilde fra homebrew eller en GUI-klient eller bare bekreftelse på at OS X pakker flere versjoner av git med kjerne-OS? opensource.apple.com/source/Git (FWIW – Den nyeste giten jeg ‘ har sett Apple-pakke til dags dato er 1.7.12.4 som kommer fra Git-37)

Svar

Takk alle for nyttige svar. I mitt tilfelle å legge til

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

i ~/.bash_profile etterfulgt av

source ~/.bash_profile 

løste problemet for brukeren min.

Kommentarer

  • Hvis du vil ha endringen vedvarende på tvers av brukere, kan du flytte /usr/local/bin over /usr/bin i /etc/paths.
  • Dette er løsningen som er foreslått av Homebrew selv når du kjører brew doctor for å diagnostisere problemet
  • dette svaret bør oppdateres med KevinT foreslåtte løsning for å definere /etc/paths. Å definere bare » eksport » kan ikke være nok, hvis /usr/bin har » forrang » over /usr/local/bin (fra brygge) …
  • Husk å starte terminalen på nytt! ‘ skjedde ikke før jeg så Juan Diego Gonzales ‘ s kommentar nedenfor
  • @Souleiman: Restarting isn ‘ t nødvendig. source ~/.bash_profile vil lese det på nytt. Å starte på nytt er sannsynligvis raskere / enklere. 🙂

Svar

Status 2020

Alle triksene som er nevnt her i flere svar er ikke nødvendig lenger på macOS Sierra, Mojave & Catalina med den nyeste Homebrew. Glem export PATH="..." og endringer i ~/.bash_profile.

Du gjør det ganske enkelt

brew install git 

og du er ferdig.

For å bekrefte, åpne et nytt terminalvindu / fane og skriv

git --version 

Ikke glem å åpne et nytt -vindu. Terminaler som var åpne før du begynte å install, arver ikke noen endringer.

Svar

Ok, jeg er klar til å bli seriøs med scm.

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

Nei, det er ikke det jeg ønsket. Jeg < 3 hjemmebryggere, så:

$ brew install git 

Er alt satt?

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

Doh! (skraper i hodet)

$ which git /usr/bin/git 

Ah, Apples git er i / usr / bin, så det trumfer hjemmebrygget. Hva skal jeg gjøre?

(A) Bare gi nytt navn til Apples binære

(B) La en administrert hjemmebrygging ha forrang:

[rediger PATH-eksport i ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]

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

… og / eller (f.eks. for å la homebrew ting trumfsystem installeres, og ha forrang for alle skjell og brukere) rediger også / etc / path-filen, [flytter / usr / local / bin over / usr / bin]

Men forutsatt bare den enkleste / minst invasive tilnærmingen:

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

Fungerte det?

$ which git /usr/local/bin/git 

Så langt så bra, nå sannhetens øyeblikk:

$ git --version git version 2.2.1 

w00t! 🙂 På tide å lese http://git-scm.com ! 🙂

Kommentarer

  • PS Rel til kommentarer om risikoen ved redigering / usr / bin: IMHO it ‘ s NBD. (Tho jeg liker Global nomad ‘ s suggest. To do » sudo ln -s / usr / local / bin / git / usr / bin / git » … som sørger for at alt som ringer til » / usr / bin / git » vil eksplisitt få din brygghåndterte. Men det jeg tar er å installere git innebærer at du ‘ tar over eierskap til git på systemet ditt. Bekymringer for ukjente prosesser som bruker en eldre , alternativ versjon av git, kan være feilplassert. Jeg anbefaler å holde deg oppdatert med git-versjoner (for sikkerhet, ikke bare funksjoner), og administrere det selv. Homebrew gjør dette enkelt. /$0.02
  • Dette gjorde ikke ‘ t fungerer for meg, å angre det, bare gjør: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ sin kommentar virket. (følg i utgangspunktet det aksepterte svaret, og start deretter terminalen på nytt).
  • Selv med which git som peker på /usr/local/bin/git, gjorde dette ikke ‘ ikke jobbe for meg. For å løse dette måtte jeg avinstallere GitHub Mac-appen.
  • 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
  • Bare bruk brew doctor. I 2020 anbefalte den brew link —overwrite git

Svar

Når du «har installert den siste git via brygge (brew install git), kjør denne enlinjeren (som foreslått av brew doctor) hvis den ikke er allerede der:

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

Avslutt deretter Terminal og åpne den igjen (start din bash-økt på nytt). Du må gjøre dette selv om PATH-en allerede var riktig, da ZSH og Bash cache innholdet i PATH (se dokumentasjonen på den innebygde kommandoen hash).

Det skal ordne ting veldig fort.

Kommentarer

  • Hvordan skiller dette seg fra det aksepterte svaret?
  • I saken min, jeg visste ikke ‘ at jeg måtte starte Terminal på nytt, slik at den delen kan hjelpe noen mennesker. Er raskere enn akseptert på grunn av den ene linjeren. Hvis det ‘ er en konkurranse, tror jeg svaret mitt er feilplassert. Ellers tror jeg det bidrar. (Fortell meg om du vil at jeg skal redigere i stedet for dette).
  • Du gjør den ene linjen når du installerer Homebrew
  • Jeg syntes dette svaret var nyttig. Å starte terminalen på nytt er en ikke åpenbar sak for mange mennesker som ikke er kjent med .bash_profile, og en mild påminnelse for oss andre.
  • @JuanDiegoGonzales Utmerket observasjon! Jeg lurte på nøyaktig det samme etter at jeg installerte git og ikke visste ‘ hvorfor. Etter cache -hintet gjorde jeg litt mer undersøkelser: unix.stackexchange.com/q/5609/52921

Svar

Jeg prøvde dette og det fungerer for meg.

brew link --overwrite git 

Kommentarer

  • Jobbet for meg på Mojave (10.14.4)

Svar

Når du skriver

git --version 

i Terminal.app eller konsoll, angav din kommentar til et annet spørsmål versjonen det returnerer er git i / usr / bin / git

Hvis du installerte Xcode 4.5 (og nyere), og skriver

xcrun git --version 

i Terminal.app eller konsoll, versjonen den returnerer er git i Xcode-apppakken.

Hvis du bruker Homebrew til å installere og oppdatere git, er den enkleste løsningen å

  1. sørg for at du har administratorrettigheter ettersom du blir bedt om passordet for administratoren
  2. gi nytt navn til den opprinnelige plasseringen ved å gi den nytt navn med mv. For eksempel

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

  3. opprett en myk lenke ved hjelp av «ln -s» til git binær du installerte med Homebrew .

Merk at MattDMo har en bedre løsning i kommentarene.

Kommentarer

  • Er dette 100% trygt? Vil det ødelegge noe mac-relatert?
  • Hvis du følger trinnene som er beskrevet, vant løsningen ‘ t å bryte noe forhåndsinstallert siden disse git-kjørbare filene ikke slettes. Dette er grunnen til at du i trinn 2 skal gi nytt navn til originalen / usr / bin / git for f.eks. som /usr/bin/git.BACKUP
  • Vennligst ikke ‘ t gjør dette – du burde egentlig ikke ‘ t rote med /usr/bin, da det ‘ er mulig at andre programmer du ikke ‘ ikke engang vite om avhengig av uklarheter knyttet til en bestemt versjon. Den enkleste løsningen uten å flytte noe er å legge til /usr/local/bin i $PATH miljøvariabelen før /usr/bin – IIRC, homebrew installeres til /usr/local/bin
  • Takk @MattDMo, det ser ut til å være den beste tilnærmingen i dette tilfellet.

Svar

Installer git med brygge, kjør dette.

brew link --force git

Lukk og åpne terminalen for å kjøre which git.

Kommentarer

  • Hvordan endrer det standardstien?
  • Dette fungerte for meg å overstyre xcode ‘ s git.
  • Jeg fikk en feil når jeg kjørte dette men brew link --overwrite git fungerte

Svar

Du må gi nytt navn den originale giten av apple i /usr/bin/ til e. g. git-org siden /usr/bin normalt er før /usr/local/bin i banekatalogen din der brygget er.

Så:

cd /usr/bin sudo mv git git-org 

og ikke glem å koble bryggit

brew link git 

Dette forutsetter at /usr/local/bin er i $PATH miljøvariabelen.Hvis du fortsatt har problemer, kan du prøve å kjøre

brew doctor 

og fikse problemene som er nevnt der.

Kommentarer

  • Ikke gi nytt navn til eller chnage ting i / usr / bin, da det kan ødelegge Apple-tigger, og de vil bli chnaged når du gjør en system- eller XCode-oppdatering. bruk stien som er det den er designet for,
  • @Mark du har et poeng. Men jeg tror ikke du vil få problemer hvis du bare endrer git i / usr / bin. For meg fungerer det i flere måneder.
  • Jeg er enig i at det å endre ting i / usr / bin normalt er dårlige nyheter, men jeg kan ‘ ikke huske OS X bruker faktisk git, så skaden kan være liten og bare relatert til et » rent » -system som samsvarer med kvitteringene. Skaden vil være en oppdatering av OS X kan erstatte den nye giten med en eldre versjon, derav vanlig praksis å finne en ny binær utenfor systembaneplasseringen.
  • Jeg tror det ville være mye lettere å legge til /usr/local/bin (homebrew ‘ s installasjonskatalog, IIRC) til $PATH foran /usr/bin i stedet for å kjipe rundt med å gi nytt navn og sikkerhetskopiere osv.

Svar

Hvis du installerer git fra git-scm.com direkte og vil bruke den siste nedlastede git i stedet for apple (gammel) versjon av git.

  1. Installer git fra git-scm .com
  2. Sannsynligvis blir ny git installert i /usr/local/bin/git
  3. Prøv git --version, hvis den returnerer Apple sin gamle versjon av git, fortsett nedenfor
  4. cd ~ (endre katalog til hjemmekatalogen)
  5. skriv vi .bashrc
  6. Bruk i (for å sette inn tekst i vi editor)
  7. Hvis du finner en linje med export PATH......., trykker du på enter på toppen av eksporten og skriv inn følgende: export PATH=/usr/local/:$PATH (Vær ekstrem forsiktig med PATH variabelen, ikke ødelegg det ellers vil det føre til problemer for operativsystemet ditt) (forhåpentligvis ny git skal installeres i /usr/local/git)
  8. Trykk på esc
  9. Skriv inn :wq (til lagre .bashrc filen)
  10. Gå ut av terminalen og start ny terminal
  11. Prøv nå git --version (du bør se ny versjon)

Svar

Gjør et enkelt alias for å unngå å endre sti:

alias git=/usr/local/bin/git 

Svar

Jeg har prøvd mange ting, inkludert alt dette innlegget » s svar. Endelig klarte jeg å få bryggversjonen av git til å kjøre i stedet for Xcode ved å bare slette Xcodes ekstra verktøymappe:

sudo rm -rf /Library/Developer/CommandLineTools

Svar

Når du bruker brew install git for installasjonen, legg merke til at den installeres git under:

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

Du vil får også en feil som dukker opp tidligere i loggen og sannsynligvis savnet du den:

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

Bare kjør:

 brew link --overwrite git  

og du skal være god.

Svar

Det avhenger av hvor giten din kommer fra. Xcode bringer for eksempel en versjon, kanskje det er på forhånd i din vei.

Kanskje å skrive

which git 

vil vise hvor den gamle er.

Kommentarer

  • det ‘ s i /usr/bin/git
  • Det ser ut som to installasjoner. Jeg tror den vanlige (nedlastbare) git-versjonen går til / usr / local / git / … Det ‘ er så et spørsmål om å legge det til banen eller fjerne den andre (eller begge)

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *