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 suosittelibrew 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
- varmista, että sinulla on järjestelmänvalvojan oikeudet, kun sinua pyydetään antamaan järjestelmänvalvojan salasana.
-
Nimeä alkuperäinen sijainti nimeämällä se uudelleen mv: n avulla. Esimerkiksi
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
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.
- Asenna git git-scm: stä .com
- Todennäköisesti uusi git asennetaan hakemistoon
/usr/local/bin/git
- Kokeile
git --version
, jos se palauttaa Applen vanhan version gitistä, siirry seuraavaan vaiheeseen -
cd ~
(vaihda hakemisto kotihakemistoksi) - kirjoita
vi .bashrc
- Käytä
i
(tekstin lisäämiseksi vi-editoriin) - 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 muuttujallaPATH
muuttujalla, älä sekoita sitä, muuten se aiheuttaa ongelmia käyttöjärjestelmällesi) (toivottavasti uusi git tulee asentaa kansioon/usr/local/git
) - Paina esc
- Kirjoita
:wq
( tallenna tiedosto.bashrc
) - Poistu päätelaitteesta ja aloita uusi pääte
- 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)