Kuinka käyttää Homebrew-asennettua gitiä Macissa?

Olen asentanut uusimman version gitistä (1.8.3) käyttämällä homebrewia, mutta kirjoittaessani

git --version 

päätelaitteessani se tulostaa:

git version 1.7.10.2 (Apple Git-33) 

Mitä minun pitäisi tehdä korvatakseen vanhan version gitistä uudella?

Kommentit

  • Sinulla on pari hyvää vastausta – joten halusin kommentoida kysymystä. Etsitkö tarkkoja ohjeita gitin asentamiseksi lähdekoodista homebrewsta tai GUI-asiakkaalta tai vain vahvistusta siitä, että OS X niputtaa useita git-versioita ydin-käyttöjärjestelmän kanssa? opensource.apple.com/source/Git (FWIW – uusin git I ’ olen nähnyt Applen paketin tähän mennessä on 1.7.12.4, joka tulee versiosta Git-37)

Vastaus

Kiitos kaikille hyödyllisistä vastauksista. Minun tapauksessani lisätään

export PATH="/usr/local/bin:${PATH}" 

kohtaan ~/.bash_profile, jota seuraa

source ~/.bash_profile 

ratkaisi ongelmani käyttäjälläni.

Kommentit

  • Jos haluat muutoksen jatkuvan kaikille käyttäjille, voit siirtää /usr/local/bin /usr/bin yläpuolella kohdassa /etc/paths.
  • Tämä on ehdotettu ratkaisu Homebrew itse suorittaa suoritettaessa brew doctor ongelman diagnosoimiseksi
  • tämä vastaus on päivitettävä KevinT: n ehdottamalla ratkaisulla /etc/paths. Vain ” viennin määritteleminen ” ei välttämättä riitä, jos /usr/bin: llä on ” etusija ” /usr/local/bin (haudutuksesta) …
  • muista Käynnistä pääte uudelleen! En tullut ’ mieleeni, kunnes näin Juan Diego Gonzalesin ’ kommentin alla
  • @Souleiman: Uudelleenkäynnistys ei ole ’ ei välttämätöntä. source ~/.bash_profile lukee sen uudelleen. Uudelleenkäynnistys on todennäköisesti nopeampaa / helpompaa. 🙂

Vastaa

Tila 2020

Kaikki tässä mainitut temput useissa vastauksissa eivät ole enää tarpeen MacOS Sierralla, Mojave & Catalinalla uusimmalla Homebrew-versiolla. Unohda export PATH="..." ja muutokset muotoon ~/.bash_profile.

Teet vain

brew install git 

ja olet valmis.

Vahvista avaamalla uusi pääteikkuna / välilehti ja kirjoittamalla

git --version 

Älä unohda avata uutta -ikkunaa. Päätteet, jotka olivat auki ennen kuin aloitit install, eivät peri mitään muutoksia.

Vastaa

Ok, olen valmis suhtautumaan vakavasti scm: ään.

$ git --version git version 1.9.5 (Apple Git-50.3) 

En, sitä en halunnut. I < 3 homebrew, joten:

$ brew install git 

Kaikki asetettu?

$ git --version git version 1.9.5 (Apple Git-50.3) 

Doh! (naarmuttaa päätä)

$ which git /usr/bin/git 

Ah, Applen git on / usr / bin, joten se karkottaa kotimaisen. Mitä tehdä?

(A) Nimeä vain Applen binaari uudelleen

(B) Olkoon kotipohjan hallinnoima ensisijainen:

[muokkaa PATH-vientiä esim. tiedostossa ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangentti)]

[erityisesti: move / usr / local / bin / git: before / usr / bin:]

… ja / tai (esim. jotta homebrew-tavaroiden valinnainen asennus voidaan antaa ja etusija koskee kaikkia kuoria ja käyttäjiä), muokkaa myös / etc / paths -tiedostoa, [liikkuva / usr / local / bin yllä / usr / bin]

Mutta olettaen vain yksinkertaisin / vähiten invasiivinen lähestymistapa:

$ sudo mv /usr/bin/git /usr/bin/git-apple 

toimiiko se?

$ which git /usr/local/bin/git 

Toistaiseksi niin hyvä, nyt totuuden hetki:

$ git --version git version 2.2.1 

w00t! 🙂 Aika mennä lukemaan http://git-scm.com ! 🙂

Kommentit

  • PS: Kommentit muokkausriskeistä / usr / bin: IMHO it ’ s NBD. (Siksi pidän globaalista nomad ’ s ehdotuksesta tehdä ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … joka varmistaa, että kaikki, jotka kutsuvat ” / usr / bin / git ” saa nimenomaan panimohallinnan. Mutta otan kyllä, gitin asentaminen tarkoittaa, että ’ otat gitin omistukseen järjestelmässäsi. Huolet tuntemattomista prosesseista vanhemman avulla , gitin vaihtoehtoinen versio, saattaa olla väärin. Suosittelen, että pidät ajan tasalla w / git-versioista (turvallisuuden, ei vain ominaisuuksien vuoksi), ja hallitse sitä itse. Homebrew tekee tämän helpoksi. /$0.02
  • Tämä ei onnistunut ’ ei toimi minulle, kumota se, tee vain: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ’ -kommentti toimi. (seuraa periaatteessa hyväksyttyä vastausta ja käynnistä sitten pääte uudelleen.)
  • Vaikka which git osoittaisi /usr/local/bin/git, tämä ei ’ ei toimi minulle. Tämän ratkaisemiseksi jouduin poistamaan GitHub Mac -sovelluksen asennuksen.
  • 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
  • Käytä vain brew doctor. Vuonna 2020 se suositteli brew link —overwrite git

vastausta

Kun olet ”Olemme asentaneet uusimman gitin brew: n kautta (brew install git), aja tämä yksi linja (kuten ehdottaa brew doctor), jos se ei ole” t jo olemassa:

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile 

Sulje sitten Terminal ja avaa se uudelleen (käynnistä bash-istunto uudelleen). Sinun on tehtävä tämä, vaikka polkusi olisi jo ollut oikein, koska ZSH ja Bash tallentavat välimuistiin PATHin sisällön (katso sisäänrakennetun komennon hash ohjeet).

Tämän pitäisi korjata asiat todella nopeasti.

Kommentit

  • Miten tämä eroaa hyväksytystä vastauksesta?
  • minun tapauksessani en tiennyt ’ tiennyt, että minun oli käynnistettävä Terminal uudelleen, jotta osa voisi auttaa joitain ihmisiä. On nopeampi kuin hyväksytty yhden linjan takia. Jos se ’ on kilpailu, mielestäni vastaukseni on väärä. Muuten luulen, että se myötävaikuttaa. (Kerro minulle, haluatko minun tekevän muokkauksen tämän sijasta).
  • Teet yhden linjan, kun asennat Homebrewn.
  • Minusta tämä vastaus oli hyödyllinen. Päätteen uudelleenkäynnistys on ei-ilmeinen asia monille ihmisille, jotka eivät ole perehtyneet .bash_profile-toimintaan, ja lempeä muistutus meille kaikille.
  • @JuanDiegoGonzales Erinomainen havainto! Mietin täsmälleen samaa asiaa, kun asensin gitin ja en tiennyt ’ tiennyt miksi. Välimuistin vihjeen jälkeen tein hieman enemmän tutkimusta: unix.stackexchange.com/q/5609/52921

vastaus

Yritin tätä ja se toimii minulle.

brew link --overwrite git 

kommentit

  • toimi minulle Mojavessa (10.14.4)

vastaus

Kun kirjoitat

git --version 

Terminal.appiin tai konsoliin, kommenttisi toiseen kysymykseen osoitti sen version return on git hakemistossa / usr / bin / git

Jos olet asentanut Xcode 4.5: n (ja uudemman), ja kirjoita

xcrun git --version 

Terminal.app tai konsoli, sen palauttama versio on Xcode-sovelluspaketin git.

Jos asennat ja päivität gitin Homebrew-ohjelmalla, yksinkertaisin ratkaisu on

  1. varmista, että sinulla on järjestelmänvalvojan oikeudet, kun sinua pyydetään antamaan järjestelmänvalvojan salasana.
  2. Nimeä alkuperäinen sijainti nimeämällä se uudelleen mv: n avulla. Esimerkiksi

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

  3. luo pehmeä linkki ”ln -s” -toiminnolla Homebrew-sovellukseen asentamaasi git-binaariin .

Huomaa, että MattDMolla on parempi ratkaisu kommenteissa.

Kommentit

  • Onko tämä 100% turvallista? Katkaiseeko se kaikki Maciin liittyvät ongelmat?
  • Jos noudatat hahmoteltuja vaiheita, ratkaisu ei ’ rikkonut mitään esiasennettuja, koska näitä git-suoritettavia tiedostoja ei poisteta. Siksi vaiheessa 2 sinun tulisi nimetä alkuperäinen / usr / bin / git esim. nimellä /usr/bin/git.BACKUP
  • Älä tee ’ t tätä – sinun ei todellakaan pidä ’ t sekaantua /usr/bin kanssa, koska ’ on mahdollista, että muut ohjelmat, joita et ’ En edes tiedä riippuu tiettyyn versioon liittyvistä mielikuvituksista. Helpoin ratkaisu siirtämättä mitään on lisätä /usr/local/bin ympäristömuuttujaasi $PATH ennen /usr/bin – IIRC, homebrew asentaa tiedostoon /usr/local/bin
  • Kiitos @MattDMo, jotka näyttävät olevan paras tapa tässä tapauksessa.

vastaus

Asenna git brew: lla, aja tämä.

brew link --force git

Sulje ja avaa pääte uudelleen suorittaaksesi which git.

Kommentit

  • Kuinka se muuttaa oletuspolkua?
  • Tämä toimi minun ohittaessani xcode ’ s gitin.
  • Sain virheen suoritettaessa tämä mutta brew link --overwrite git toimi

vastaus

Sinun on nimettävä uudelleen alkuperäisen gitin omena /usr/bin/ – e. g. git-org, koska /usr/bin on normaalisti polun hakemistossa /usr/local/bin, ennen kuin panimo on.

Joten:

cd /usr/bin sudo mv git git-org 

ja älä unohda linkittää haudutusjuomaa

brew link git 

Tämä olettaa /usr/local/bin on ympäristömuuttujassa $PATH.Jos sinulla on edelleen ongelmia, yritä suorittaa

brew doctor 

ja korjata siellä mainitut ongelmat.

Kommentit

  • Älä nimeä tai chnage asioita / usr / bin, koska se voi rikkoa Applen thigs ja ne chnaged kun teet järjestelmän tai XCode päivitys. käytä polkua, jota varten se on suunniteltu,
  • @Merkitse, että sinulla on piste. Mutta en usko, että saat ongelmia, jos muutat vain git / usr / bin. Minulle se toimii useita kuukausia.
  • Olisin samaa mieltä siitä, että tavallisesti asioiden muuttaminen tiedostossa / usr / bin on huono uutinen, mutta en voi ’ muistaa käyttöjärjestelmää X käyttää itse asiassa git-tiedostoa, joten vahinko saattaa olla vähäinen ja liittyy vain ” puhtaan ” -järjestelmään, joka vastaa kuitteja. Haitta olisi se, että OS X: n päivitys saattaa korvata uuden gitin vanhemmalla versiolla, mikä on normaalia käytäntöä löytää uusi binaari järjestelmän polun sijainnin ulkopuolelta.
  • Mielestäni olisi paljon helpompaa lisätä /usr/local/bin (kotihenkinen ’ s -hakemisto, IIRC) $PATH eteenpäin /usr/bin sen sijaan, että muokkaat nimeämistä ja varmuuskopiointia jne.

Vastaa

Jos asennat gitin suoraan osoitteesta git-scm.com ja haluat käyttää uusinta ladattua gitä gitin omenaisen (vanhan) version sijaan.

  1. Asenna git git-scm: stä .com
  2. Todennäköisesti uusi git asennetaan hakemistoon /usr/local/bin/git
  3. Kokeile git --version, jos se palauttaa Applen vanhan version gitistä, siirry seuraavaan vaiheeseen
  4. cd ~ (vaihda hakemisto kotihakemistoksi)
  5. kirjoita vi .bashrc
  6. Käytä i (tekstin lisäämiseksi vi-editoriin)
  7. Jos löydät rivin, jossa on export PATH......., paina viennin yläosassa olevaa Enter-näppäintä ja kirjoita seuraava: export PATH=/usr/local/:$PATH (Ole erityisen varovainen muuttujalla PATH muuttujalla, älä sekoita sitä, muuten se aiheuttaa ongelmia käyttöjärjestelmällesi) (toivottavasti uusi git tulee asentaa kansioon /usr/local/git)
  8. Paina esc
  9. Kirjoita :wq ( tallenna tiedosto .bashrc)
  10. Poistu päätelaitteesta ja aloita uusi pääte
  11. Yritä nyt git --version (sinun pitäisi nähdä uusi versio)

Vastaa

Tee yksinkertainen alias polun vaihtamisen välttämiseksi:

alias git=/usr/local/bin/git 

vastaus

Olen kokeillut monia asioita, mukaan lukien kaikki tämä viesti ” s vastauksia. Lopulta pääsin saamaan git-version suorittamaan Xcode-versioiden sijasta yksinkertaisesti poistamalla Xcode-työkalut:

sudo rm -rf /Library/Developer/CommandLineTools

Vastaa

Kun käytät asennukseen brew install git, huomaa, että se asentaa git kohdassa:

 ==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB  

Tulet saat myös virheen, joka näkyy aiemmin lokissa ja luultavasti unohdit sen:

 ==> 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  

Suorita vain:

 brew link --overwrite git  

ja sinun pitäisi olla hyvä.

Vastaus

Se riippuu siitä, mistä git tulee. Xcode tuo esimerkiksi version, ehkä se on etukäteen polullasi.

Ehkä kirjoittamalla

which git 

näkyy, missä vanha on.

Kommentit

  • se ’ s ryhmässä /usr/bin/git
  • Se näyttää kahdelta asennukselta. Luulen, että normaali (ladattava) git-versio menee hakemistoon / usr / local / git / … Se ’ s kysyy sitten sen lisäämistä polulle tai toisen poistamista (tai molemmat)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *