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/binvýše/usr/binv/etc/paths. - Toto je navrhované řešení samotným Homebrew při spuštění
brew doctork 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/binmá “ 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_profileto 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 gitukazuje 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/bindo vaší proměnné prostředí$PATHpř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 gitfungovalo
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$PATHpřed/usr/binmí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ěnnouPATHbuď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.bashrcsoubor) - 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)