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/binover/usr/bini/etc/paths. - Dette er løsningen som er foreslått av Homebrew selv når du kjører
brew doctorfor å 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/binhar » 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_profilevil 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 gitsom 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 denbrew 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 å
- sørg for at du har administratorrettigheter ettersom du blir bedt om passordet for administratoren
-
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
-
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/bini$PATHmiljø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 gitfungerte
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$PATHforan/usr/bini 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.
- Installer git fra git-scm .com
- Sannsynligvis blir ny git installert i
/usr/local/bin/git - Prøv
git --version, hvis den returnerer Apple sin gamle versjon av git, fortsett nedenfor -
cd ~(endre katalog til hjemmekatalogen) - skriv
vi .bashrc - Bruk
i(for å sette inn tekst i vi editor) - 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 medPATHvariabelen, ikke ødelegg det ellers vil det føre til problemer for operativsystemet ditt) (forhåpentligvis ny git skal installeres i/usr/local/git) - Trykk på esc
- Skriv inn
:wq(til lagre.bashrcfilen) - Gå ut av terminalen og start ny terminal
- 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)