Jag har installerat den senaste versionen av git (1.8.3) med homebrew men när jag skriver
git --version
i min terminal skrivs ut:
git version 1.7.10.2 (Apple Git-33)
Vad ska jag göra för att ersätta den gamla versionen av git med den nya?
Kommentarer
- Du har ett par bra svar – så jag ville kommentera frågan. Letar du efter uttryckliga instruktioner för att installera git från källan från homebrew eller en GUI-klient eller bara en bekräftelse på att OS X buntar flera versioner av git med core OS? opensource.apple.com/source/Git (FWIW – Den senaste git jag ’ har sett Apple-paket hittills är 1.7.12.4 som kommer från Git-37)
Svar
Tack alla för hjälpsamma svar. I mitt fall lägger till
export PATH="/usr/local/bin:${PATH}"
i ~/.bash_profile
följt av
source ~/.bash_profile
löste problemet för min användare.
Kommentarer
- Om du vill att ändringen ska vara beständig mellan användare kan du flytta
/usr/local/bin
ovan/usr/bin
i/etc/paths
. - Detta är den föreslagna lösningen av Homebrew själv när du kör
brew doctor
för att diagnostisera problemet - detta svar bör uppdateras med KevinT föreslagna lösning för att definiera
/etc/paths
. Att bara definiera ” export ” kanske inte räcker, om/usr/bin
har ” företräde ” över/usr/local/bin
(från brygga) … - Kom ihåg för att starta om terminalen! ’ tänkte mig inte tills jag såg Juan Diego Gonzales ’ s kommentar nedan
- @Souleiman: Starta om isn ’ t nödvändigt.
source ~/.bash_profile
läser om det igen. Omstart är förmodligen snabbare / lättare. 🙂
Svar
Status 2020
Alla knep som nämns här i flera svar är inte nödvändiga längre på macOS Sierra, Mojave & Catalina med den senaste Homebrew. Glöm export PATH="..."
och ändringar av ~/.bash_profile
.
Du gör helt enkelt
brew install git
och du är klar.
För att bekräfta, öppna ett nytt terminalfönster / flik och skriv
git --version
Glöm inte att öppna ett nytt -fönster. Terminaler som var öppna innan du började install
ärver inga ändringar.
Svar
Okej, jag är redo att bli seriös med scm.
$ git --version git version 1.9.5 (Apple Git-50.3)
Nej, det är inte vad jag ville ha. Jag < 3 homebrew, så:
$ brew install git
Allt klart?
$ git --version git version 1.9.5 (Apple Git-50.3)
Doh! (skrapar på huvudet)
$ which git /usr/bin/git
Ah, Apples git finns i / usr / bin, så det trummar hembryggeriet. Vad ska man göra?
(A) Byt bara namn på Apples binära
(B) Låt homebrew-hanterad ha företräde:
[redigera PATH-export t.ex. i ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[specifikt: flytta / usr / lokal / bin / git: före / usr / bin:]
… och / eller (t.ex. för att bredare låta trump-systeminstallationer för homebrew stuff och ha företräde för alla skal och användare) redigerar också / etc / path-filen, [flyttar / usr / local / bin ovan / usr / bin]
Men antar vi bara det enklaste / minst invasiva tillvägagångssättet:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Fungerade det?
$ which git /usr/local/bin/git
Hittills så bra, nu sanningens ögonblick:
$ git --version git version 2.2.1
w00t! 🙂 Dags att läsa http://git-scm.com ! 🙂
Kommentarer
- PS Rel till kommentarer om risker med redigering / usr / bin: IMHO it ’ s NBD. (Tho I like Global nomad ’ s suggest. To do ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … vilket säkerställer att allt som ringer till ” / usr / bin / git ” kommer uttryckligen att få din brygghanterade. Men jag tar det, att installera git innebär att du ’ tar igen ägandet av git på ditt system. Oron för okända processer som använder en äldre , alternativ version av git, kan vara felplacerad. Jag rekommenderar att du håller dig uppdaterad med git-versioner (för säkerhet, inte bara funktioner) och hanterar det själv. Homebrew gör det enkelt. /$0.02
- Detta gjorde det inte ’ t fungerar för mig, för att ångra det, gör bara: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ’ s kommentar fungerade. (följ i princip det accepterade svaret och starta om terminalen).
- Även med
which git
som pekar på/usr/local/bin/git
gjorde detta inte ’ t fungerar för mig. För att lösa detta var jag tvungen att avinstallera 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
- Använd bara
brew doctor
. 2020 rekommenderade denbrew link —overwrite git
Svar
När du ”har installerat den senaste git via brygga (brew install git
), kör den här enlinjern (som föreslås av brew doctor
) om den inte är redan där:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Avsluta sedan Terminal och öppna den igen (starta om din bash-session). Du måste göra detta även om din PATH redan var korrekt, eftersom ZSH och Bash cachade innehållet i PATH (se dokumentationen på det inbyggda kommandot hash
).
Det borde fixa saker riktigt snabbt.
Kommentarer
- Hur skiljer sig detta från det accepterade svaret?
- I mitt fall visste jag inte ’ att jag var tvungen att starta om Terminal, så att den delen kan hjälpa vissa människor. Är snabbare än vad som accepteras på grund av ett liner. Om det ’ är en tävling tror jag att mitt svar är felplacerat. Annars tror jag att det bidrar. (Berätta för mig om du vill att jag ska redigera istället för det här.).
- Du gör det där liner när du installerar Homebrew
- Jag tyckte att det här svaret var till hjälp. Att starta om terminalen är en självklar fråga för många som inte känner till hur .bash_profile fungerar och en mild påminnelse för resten av oss.
- @JuanDiegoGonzales Utmärkt observation! Jag undrade exakt samma sak efter att jag installerade git och visste inte ’ varför. Efter cache -tipsen undersökte jag lite mer: unix.stackexchange.com/q/5609/52921
Svar
Jag försökte det här och det fungerar för mig.
brew link --overwrite git
Kommentarer
- Fungerade för mig på Mojave (10.14.4)
Svar
När du skriver
git --version
i Terminal.app eller konsol angav din kommentar till en annan fråga den version det returnerar git i / usr / bin / git
Om du installerade Xcode 4.5 (och nyare) och skriver
xcrun git --version
Terminal.app eller konsol, versionen som den returnerar är git i Xcode-apppaketet.
Om du använder Homebrew för att installera och uppdatera git är den enklaste lösningen att
- se till att du har administratörsrättigheter eftersom du kommer att bli ombedd att lösenordet för admin
-
byta namn på den ursprungliga platsen genom att byta namn på det med mv. till exempel
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
skapa en mjuk länk med ”ln -s” till den git binära du installerade med Homebrew .
Observera att MattDMo har en bättre lösning i kommentarerna.
Kommentarer
- Är det 100% säkert? Kommer det att bryta något Mac-relaterat?
- Om du följer stegen som beskrivs, kommer lösningen att ’ inte bryta något förinstallerat eftersom dessa git-körbara filer inte tas bort. Det är därför du vid steg 2 ska byta namn på ditt original / usr / bin / git för t.ex. som /usr/bin/git.BACKUP
- Var snäll och gör ’ t gör detta – du borde verkligen inte ’ t krossa med
/usr/bin
, eftersom det ’ är möjligt att andra program du inte ’ t ens veta om beror på vagaries associerade med en viss version. Den enklaste lösningen utan att flytta något är att lägga till/usr/local/bin
till din$PATH
miljövariabel före/usr/bin
– IIRC, homebrew installeras till/usr/local/bin
- Tack @MattDMo, det verkar vara den bästa metoden i det här fallet.
Svar
Installera git med brygga, kör det här.
brew link --force git
Stäng och öppna terminalen igen för att köra which git
.
Kommentarer
- Hur ändrar det standardvägen?
- Detta fungerade för mig att åsidosätta xcode ’ s git.
- Jag fick ett fel när jag körde detta men
brew link --overwrite git
fungerade
Svar
Du måste byta namn den ursprungliga git av apple i /usr/bin/
till e. g. git-org eftersom /usr/bin
normalt är före /usr/local/bin
i din sökvägskatalog där brygga är.
Så:
cd /usr/bin sudo mv git git-org
och glöm inte att länka bryggit
brew link git
Detta förutsätter att /usr/local/bin
finns i din $PATH
miljövariabel.Om du fortfarande har problem försöker du köra
brew doctor
och åtgärda problemen som nämns där.
Kommentarer
- Don; t byta namn på eller chnage saker i / usr / bin eftersom det kan bryta Apple-tigrar och de blir chnaged när du gör en system- eller XCode-uppdatering. använd sökvägen som den är avsedd för,
- @Mark du har en poäng. Men jag tror inte att du kommer att få problem om du bara byter git i / usr / bin. För mig fungerar det i flera månader.
- Jag håller med om att det normalt är dåliga nyheter att ändra saker i / usr / bin, men jag kan ’ inte minnas OS X använder faktiskt git, så skadan kan vara liten och relaterar bara till ett ” rent ” -system som matchar kvitton. Skadan skulle vara en uppdatering av OS X kan ersätta den nya git med en äldre version, därav den normala praxis att lokalisera en ny binär utanför systemvägen.
- Jag tror att det skulle vara mycket lättare att lägga till
/usr/local/bin
(homebrew ’ s installationskatalog, IIRC) till$PATH
före/usr/bin
istället för att krossa med att byta namn och säkerhetskopiera osv.
Svara
Om du installerar git från git-scm.com direkt och vill använda den senaste nedladdade git istället för apple (gammal) version av git.
- Installera git från git-scm .com
- Troligtvis kommer ny git att installeras i
/usr/local/bin/git
- Försök
git --version
, om det returnerar Apples gamla version av git, fortsätt nedanför -
cd ~
(byt katalog till din hemkatalog) - typ
vi .bashrc
- Använd
i
(för att infoga text i vi-redigeraren) - Om du hittar en rad med
export PATH.......
trycker du på enter ovanpå exporten och skriv följande:export PATH=/usr/local/:$PATH
(Var ytterst försiktig medPATH
variabla, förstör det inte annars kommer det att orsaka problem för ditt operativsystem) (förhoppningsvis ny git ska installeras i/usr/local/git
) - Tryck på esc
- Ange
:wq
(till spara.bashrc
-filen) - Avsluta terminalen och starta den nya terminalen
- Försök nu
git --version
(du ska se en ny version)
Svar
Gör ett enkelt alias för att undvika att ändra sökväg:
alias git=/usr/local/bin/git
Svar
Jag har provat många saker inklusive allt detta inlägg ” s svar. Slutligen kunde jag få bryggversionen av git att köras istället för Xcode genom att helt enkelt ta bort Xcodes ytterligare verktygsmapp:
sudo rm -rf /Library/Developer/CommandLineTools
Svar
När du använder brew install git
för installationen, lägg märke till att den installerar git
under:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
Du kommer få också ett fel som visas tidigare i loggen och förmodligen missade du det:
==> 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
Kör bara:
brew link --overwrite git
så ska du vara bra.
Svar
Det beror på var din git kommer ifrån. Xcode ger till exempel en version, kanske är det på din väg.
Kanske att skriva
which git
visar var den gamla är.
Kommentarer
- det ’ s i
/usr/bin/git
… - Det ser ut som två installationer. Jag tror att den normala (nedladdningsbara) git-versionen går till / usr / local / git / … Det ’ s är då en fråga om att lägga till det på sökvägen eller ta bort den andra (eller båda)