Jak používat Homebrew nainstalovaný git na Macu?

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čila brew 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

  1. ujistěte se, že máte práva správce, protože budete požádáni o heslo pro správce
  2. přejmenujte původní umístění přejmenováním pomocí mv. Například

    sudo mv / usr / bin / git / usr / bin / git-ORIGINAL

  3. 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.

  1. Nainstalujte git z git-scm .com
  2. Pravděpodobně bude nový git nainstalován do /usr/local/bin/git
  3. Zkuste git --version, pokud vrátí Apple starou verzi git, pokračujte níže
  4. cd ~ (změňte adresář na domovský adresář)
  5. zadejte vi .bashrc
  6. Použijte i (pro vložení textu do editoru vi)
  7. 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ěnnou PATH 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)
  8. Stiskněte esc
  9. Enter :wq (do uložte .bashrc soubor)
  10. Ukončete z terminálu a spusťte nový terminál
  11. 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)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *