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 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/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.
- 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 medPATH
variabelen, 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.bashrc
filen) - 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)