Nainstaloval jsem si nejnovější verzi git (1.8.3) pomocí homebrew, ale když píšu
git --version
v mém terminálu vytiskne:
git version 1.7.10.2 (Apple Git-33)
Co mám udělat, abych nahradil starou verzi gitu novou?
Komentáře
- Máte několik dobrých odpovědí – proto jsem se chtěl k otázce vyjádřit. Hledáte explicitní pokyny k instalaci git ze zdroje z homebrew nebo klienta GUI nebo jen potvrzení, že OS X svazuje několik verzí git s jádrem OS? opensource.apple.com/source/Git (FWIW – nejnovější git, který jsem ‚ dosud viděl, balíček Apple je 1.7.12.4, který pochází z Git-37)
Odpověď
Děkuji všem za užitečné odpovědi. V mém případě přidání
export PATH="/usr/local/bin:${PATH}"
do ~/.bash_profile
následovaného
source ~/.bash_profile
vyřešil problém mého uživatele.
Komentáře
- Pokud chcete, aby byla změna u všech uživatelů trvalá, můžete se přesunout
/usr/local/bin
výše/usr/bin
v/etc/paths
. - Toto je navrhované řešení samotným Homebrew při spuštění
brew doctor
k diagnostice problému - tato odpověď by měla být aktualizována řešením navrhovaným společností KevinT, které definuje
/etc/paths
. Definování pouze “ exportu “ nemusí stačit, pokud/usr/bin
má “ přednost “ před/usr/local/bin
(od vaření) … - pamatovat restartovat terminál! Nenapadlo mě ‚ dokud jsem neuviděl komentář Juana Diega Gonzalese ‚ níže
- @Souleiman: Restartování není ‚ není nutné.
source ~/.bash_profile
to znovu přečte. Restartování je pravděpodobně rychlejší / jednodušší. 🙂
Odpověď
Stav 2020
Všechny triky zde uvedené v několika odpovědích na macOS Sierra, Mojave & Catalina s nejnovější Homebrew již nejsou nutné. Zapomeňte na export PATH="..."
a úpravy ~/.bash_profile
.
Jednoduše to uděláte
brew install git
a jste hotovi.
Potvrďte otevřením nového okna / karty terminálu a zadáním
git --version
Nezapomeňte prosím otevřít nové okno. Terminály, které byly otevřené před zahájením install
nezdědí žádné změny.
Odpovědět
Dobře, jsem připraven to s SCM myslet vážně.
$ git --version git version 1.9.5 (Apple Git-50.3)
Ne, to není to, co jsem chtěl. I < 3 homebrew, takže:
$ brew install git
Vše nastaveno?
$ git --version git version 1.9.5 (Apple Git-50.3)
Doh! (škrábe hlavu)
$ which git /usr/bin/git
Ah, Appleův git je v / usr / bin, takže trumfne ten domácí. Co dělat?
(A) Jen přejmenujte binární soubor Apple
(B) Nechte přednost spravovat homebrew:
[upravit export PATH např. v ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangenta)]
[konkrétně: move / usr / local / bin / git: before / usr / bin:]
… a / nebo (např. k širšímu umožnění instalace systému trumfů pro homebrew a mít přednost pro všechny skořápky a uživatele) také upravte soubor / etc / paths, [přesun / usr / local / bin výše / usr / bin]
Ale za předpokladu nejjednoduššího / nejméně invazivního přístupu:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Fungovalo to?
$ which git /usr/local/bin/git
Zatím dobrý, nyní moment pravdy:
$ git --version git version 2.2.1
w00t! 🙂 Je čas si přečíst http://git-scm.com ! 🙂
Komentáře
- PS Rel ke komentářům o rizicích úprav / usr / bin: IMHO it ‚ s NBD. (Tho I like like Global nomad ‚ s suggest. Do do “ sudo ln -s / usr / local / bin / git / usr / bin / git “ … což zajistí, že vše, co volá “ / usr / bin / git “ explicitně získá váš spravovaný. Ale můj názor je, instalace git znamená, že ‚ znovu převezmete vlastnictví git ve vašem systému. Starosti s neznámými procesy pomocí staršího , alternativní verze git, může být ztracená. Doporučuji udržovat aktuální verze w / git (z důvodu bezpečnosti, nejen funkcí) a spravovat je sami. Homebrew to usnadňuje. /$0.02
- Toto ne ‚ nepracuji pro to, abych to vrátil, prostě udělejte: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‚ komentář fungoval. (v zásadě postupujte podle přijaté odpovědi a poté restartujte terminál).
- I když
which git
ukazuje na/usr/local/bin/git
, ‚ nepracuji pro mě. Abych to vyřešil, musel jsem odinstalovat aplikaci GitHub Mac. - 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
- Stačí použít
brew doctor
. V roce 2020 doporučilabrew link —overwrite git
odpověď
Jakmile „nainstaloval jsem nejnovější git pomocí brew (brew install git
), spusťte tuto jednorázovou linku (jak navrhuje brew doctor
), pokud není již existuje:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Poté ukončete Terminál a znovu jej otevřete (restartujte relaci bash). Musíte to udělat, i když byla vaše PATH již správná, protože ZSH a Bash ukládají obsah PATH do mezipaměti (viz dokumentace k vestavěnému příkazu hash
).
To by mělo opravit věci opravdu rychle.
Komentáře
- Jak se to liší od přijaté odpovědi?
- V v mém případě jsem ‚ nevěděl, že musím restartovat Terminál, aby tato část mohla některým lidem pomoci. Je rychlejší než přijatý kvůli jedné vložce. Pokud je to ‚ soutěž, myslím, že moje odpověď je nesprávná. Jinak si myslím, že to přispívá. (Řekněte mi, jestli chcete, abych místo toho provedl úpravy.)
- Tuto jednu linku uděláte při instalaci Homebrew
- Tato odpověď mi připadala užitečná. Restartování terminálu není zřejmým problémem pro mnoho lidí, kteří nejsou obeznámeni s fungováním souboru .bash_profile, a jemnou připomínkou pro nás ostatní.
- @JuanDiegoGonzales Skvělé pozorování! Zajímalo by mě přesně to samé poté, co jsem nainstaloval git a nevěděl ‚ proč. Po nápovědě mezipaměti jsem provedl trochu více průzkumu: unix.stackexchange.com/q/5609/52921
Odpověď
Zkoušel jsem to a funguje to pro mě.
brew link --overwrite git
Komentáře
- Pracoval pro mě na Mojave (10.14.4)
Odpověď
Když zadáte
git --version
v Terminal.app nebo konzole, váš komentář k jiné otázce označil verzi returns je git in / usr / bin / git
Pokud jste nainstalovali Xcode 4.5 (a novější) a zadejte
xcrun git --version
in Terminal.app nebo console, verze, kterou vrací, je git v balíčku aplikací Xcode.
Pokud používáte Homebrew k instalaci a aktualizaci git, nejjednodušším řešením je
- ujistěte se, že máte práva správce, protože budete požádáni o heslo pro správce
-
přejmenujte původní umístění přejmenováním pomocí mv. Například
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
vytvořte měkký odkaz pomocí „ln -s“ na binární soubor git, který jste nainstalovali pomocí Homebrew .
Všimněte si, že MattDMo má v komentářích lepší řešení.
Komentáře
- Je to 100% bezpečné? Rozbije něco, co souvisí s mac?
- Pokud budete postupovat podle uvedených pokynů, řešení nezlomí nic předinstalovaného, protože tyto spustitelné soubory git nejsou odstraněny. Proto byste v kroku 2 měli přejmenovat svůj původní / usr / bin / git např. jako /usr/bin/git.BACKUP
- nedělejte to ‚ – opravdu byste neměli ‚ t pohrávejte si s
/usr/bin
, protože ‚ je možné, že jiné programy ‚ Dokonce nevím o závislostech na vrtochech spojených s konkrétní verzí. Nejjednodušším řešením, aniž byste cokoli přesunuli, je přidat/usr/local/bin
do vaší proměnné prostředí$PATH
před/usr/bin
– IIRC, homebrew se nainstaluje na/usr/local/bin
- děkuji @MattDMo, což se v tomto případě jeví jako nejlepší přístup.
Odpověď
Nainstalujte git s brew, spusťte toto.
brew link --force git
Zavřete a znovu otevřete terminál a spusťte which git
.
Komentáře
- Jak to změní výchozí cestu?
- Toto fungovalo pro přepsání xcode ‚ s git.
- Při spuštění došlo k chybě toto ale
brew link --overwrite git
fungovalo
odpověď
Musíte přejmenovat původní git od Apple v /usr/bin/
až e. G. git-org, protože /usr/bin
je obvykle před /usr/local/bin
v adresáři vaší cesty, kde se nacházejí soubory vaření.
Takže:
cd /usr/bin sudo mv git git-org
a nezapomeňte propojit brew git
brew link git
To předpokládá, že /usr/local/bin
je ve vaší proměnné prostředí $PATH
.Pokud problém přetrvává, zkuste spustit
brew doctor
a opravit zde uvedené problémy.
Komentáře
- Nepřejmenovávejte ani nezměňujte věci v adresáři / usr / bin, protože by to mohlo zlomit Apple thigs a při aktualizaci systému nebo XCode se změní. použijte cestu, pro kterou je určena,
- @Mark máte bod. Ale nevěřím, že narazíte na potíže, pokud změníte pouze git v / usr / bin. Pro mě to funguje několik měsíců.
- Souhlasím s tím, že běžná změna věcí v / usr / bin je špatná zpráva, ale nemohu si ‚ vzpomenout na OS X ve skutečnosti používá git, takže škoda tam může být nepatrná a týká se pouze “ čistého “ systému, který odpovídá příjmům. Škoda by byla aktualizace OS X, která by mohla nahradit nový git starší verzí, a proto je obvyklé najít nový binární soubor mimo umístění systémové cesty.
- Myslím, že by bylo mnohem jednodušší přidat
/usr/local/bin
(homebrew ‚ s instalační adresář, IIRC) do$PATH
před/usr/bin
místo toho, abychom se potýkali s přejmenováním a zálohováním atd.
Odpovědět
Pokud instalujete git přímo z git-scm.com a chcete použít nejnovější stažený git namísto Apple (staré) verze git.
- Nainstalujte git z git-scm .com
- Pravděpodobně bude nový git nainstalován do
/usr/local/bin/git
- Zkuste
git --version
, pokud vrátí Apple starou verzi git, pokračujte níže -
cd ~
(změňte adresář na domovský adresář) - zadejte
vi .bashrc
- Použijte
i
(pro vložení textu do editoru vi) - Pokud najdete řádek s
export PATH.......
, stiskněte na horním okraji exportu a zadejte následující:export PATH=/usr/local/:$PATH
(S proměnnouPATH
buďte extrémně opatrní, nedělejte to jinak, způsobí to vašemu OS problémy) (doufejme) nový git by měl být nainstalován v/usr/local/git
) - Stiskněte esc
- Enter
:wq
(do uložte.bashrc
soubor) - Ukončete z terminálu a spusťte nový terminál
- Nyní zkuste
git --version
(měla by se zobrazit nová verze)
Odpovědět
Chcete-li se vyhnout změně cesty, proveďte jednoduchý alias:
alias git=/usr/local/bin/git
odpověď
Zkoušel jsem mnoho věcí, včetně celého tohoto příspěvku “ s odpověďmi. Nakonec se mi podařilo získat verzi git, která se bude spouštět místo Xcode, jednoduše smazáním složky s dalšími nástroji Xcode:
sudo rm -rf /Library/Developer/CommandLineTools
Odpověď
Když pro instalaci použijete brew install git
, všimněte si, že instaluje git
pod:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
Budete také se zobrazí chyba, která se objeví dříve v protokolu a pravděpodobně jste ji zmeškali:
==> 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
Stačí spustit:
brew link --overwrite git
a měli byste být dobří.
Odpověď
Záleží na tom, odkud váš git pochází. Xcode přináší například verzi, možná je to přímo v cestě.
Možná zadáním
which git
se zobrazí, kde je ten starý.
Komentáře
- it ‚ s v
/usr/bin/git
… - To vypadá jako dvě instalace. Myslím, že normální (stažitelná) verze git jde do / usr / local / git / … Je to ‚ s otázkou přidání toho na cestu nebo odstranění jiné (nebo oba)