Hogyan kell használni a Homebrew telepített git-et Mac-en?

Telepítettem a git (1.8.3) legújabb verzióját homebrew használatával, de amikor gépelek

git --version 

a terminálomban kiírja:

git version 1.7.10.2 (Apple Git-33) 

Mit kell tennem a git régi verziójának cseréjével az új verzióval?

Megjegyzések

  • Van pár jó válaszod – ezért szerettem volna kommentálni a kérdést. Kifejezett utasításokat keres a homebrew vagy a GUI kliens forrásból származó git telepítéséhez, vagy csak annak megerősítését, hogy az OS X a git több verzióját csomagolja az alapvető operációs rendszerrel? opensource.apple.com/source/Git (FWIW – A legújabb git I ‘ láttam az Apple csomagot a mai napig az 1.7.12.4., amely a Git-37-ből származik)

Válasz

Köszönöm mindenkinek a hasznos válaszokat. Esetemben hozzáadom a

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

szót a ~/.bash_profile fájlba, majd

source ~/.bash_profile 

megoldotta a problémát a felhasználóm számára.

Megjegyzések

  • Ha azt szeretné, hogy a változások tartósak legyenek a felhasználók között, áthelyezheti div id = “c71e5b6b67”>

/usr/binfelett/etc/paths.

  • Ez a javasolt megoldás maga Homebrew, amikor a brew doctor futtatásával diagnosztizálja a problémát
  • ezt a választ frissíteni kell a KevinT által javasolt megoldással a /etc/paths. Csak az ” export meghatározása ” lehet, hogy nem lesz elég, ha a /usr/bin ” elsőbbség ” /usr/local/bin (főzetből) fölött …
  • Ne feledje a terminál újraindításához! Nem fordult elő velem ‘, amíg meg nem láttam Juan Diego Gonzales ‘ s alábbi kommentjét
  • @Souleiman: Az újraindítás nem ‘ nem szükséges. source ~/.bash_profile ezt újra elolvassa. Az újraindítás valószínűleg valószínűleg gyorsabb / könnyebb. 🙂
  • Válasz

    Állapot 2020

    Az itt szereplő összes trükk több válaszban már nem szükségesek a macOS Sierra, Mojave & Catalina webhelyeken a legújabb Homebrew-val. Felejtsd el a export PATH="..." és módosításait a ~/.bash_profile fájlba.

    Egyszerűen megcsinálod

    brew install git 

    és készen áll.

    A megerősítéshez nyisson meg egy új terminálablakot / -lapot, és írja be a következőt:

    git --version 

    Kérjük, ne felejtsen el megnyitni egy új ablakot. A install kezdete előtt nyitva tartó terminálok nem öröklik semmilyen változást.

    Válasz

    Ok, készen állok arra, hogy komolyan foglalkozzak az scm-vel.

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

    Nem, nem ezt akartam. Én < 3 házi készítésű, tehát:

    $ brew install git 

    Minden beállítva?

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

    Doh! (vakarja a fejét)

    $ which git /usr/bin/git 

    Ó, az Apple gitje a / usr / bin fájlban található, ezért megdönti a házi készítést. Mit kell tenni?

    (A) Csak nevezze át az Apple bináris fájlját.

    (B) Legyen elsőbbsége a homebrew által kezeltnek:

    [PATH exportálás szerkesztése pl. a ~ / .zshrc fájlban (oh-my-zsh + iTerm2 FTW! / tangens)]

    [konkrétan: move / usr / local / bin / git: before / usr / bin:]

    … és / vagy (pl. hogy szélesebb körben engedélyezzük a homebrew cuccok rendszerének telepítését, és hogy az elsőbbség minden héjra és felhasználóra érvényes legyen), szerkessze az / etc / paths fájlt is, usr / bin]

    De csak a legegyszerűbb / legkevésbé invazív megközelítést feltételezve:

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

    Működött?

    $ which git /usr/local/bin/git 

    Eddig nagyon jó, most az igazság pillanata:

    $ git --version git version 2.2.1 

    w00t! 🙂 Ideje olvasni http://git-scm.com ! 🙂

    Megjegyzések

    • PS A / usr / bin szerkesztés kockázatával kapcsolatos megjegyzésekhez: IMHO it ‘ s NBD. (Nekem tetszik, hogy a globális nomád ‘ s javaslatot teszek ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … amely biztosítja, hogy bármi, ami ” / usr / bin / git ” kifejezetten megkapja a sörkezeléssel kezeltet. De az a véleményem, hogy a git telepítése azt jelenti, hogy ‘ átveszi a git tulajdonjogát a rendszerén. Aggódik az ismeretlen folyamatok miatt egy régebbi , a git alternatív verziója rosszul állhat. Javaslom, hogy tartsa naprakészen a git / git verziókat (a biztonság, nem csak a funkciók érdekében), és saját maga kezelje. A Homebrew megkönnyíti ezt. /$0.02
    • Ez nem sikerült ‘ nem nekem dolgozik, hogy visszavonjam, csak tedd: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ kommentje működött. (Alapvetően kövesse az elfogadott választ, majd indítsa újra a terminált).
    • Még akkor is, ha which git a /usr/local/bin/git -re mutat, ez nem történt meg ‘ nem nekem dolgozik. Ennek megoldásához el kellett távolítanom a GitHub Mac alkalmazást.
    • 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
    • Csak a brew doctor. 2020-ban ajánlotta a brew link —overwrite git

    Válasz

    “telepítettük a legfrissebb git-t a brew-on keresztül (brew install git), futtassuk ezt az egyvonalasat (a brew doctor javaslatával), ha nem” t ” már ott van:

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

    Ezután lépjen ki a Terminálból és nyissa meg újra (indítsa újra a bash munkamenetet). Ezt akkor is meg kell tennie, ha a PATH már helyes volt, mivel a ZSH és a Bash gyorsítótárba helyezi a PATH tartalmát (lásd a beépített hash parancs dokumentációját).

    Ennek nagyon gyorsan meg kell oldania a dolgokat.

    Megjegyzések

    • Miben különbözik ez az elfogadott választól?
    • esetemben nem tudtam, hogy ‘ tudnom kell, hogy újra kell indítanom a Terminált, hogy ez a rész segíthessen néhány embert. Az egy bélés miatt gyorsabb, mint az elfogadott. Ha ‘ verseny, akkor azt gondolom, hogy a válaszom nem megfelelő. Egyébként szerintem hozzájárul. (Mondja meg, ha azt akarja, hogy szerkesztést végezzek e helyett).
    • Ezt a bélést akkor hajtja végre, amikor telepíti a Homebrew-t
    • Ezt a választ hasznosnak találtam. A terminál újraindítása nem nyilvánvaló probléma sok olyan ember számára, aki nem ismeri a .bash_profile működését, és gyengéd emlékeztető a többiek számára.
    • @JuanDiegoGonzales Kiváló megfigyelés! Pontosan arra gondoltam, hogy a git telepítése után ‘ nem tudtam, miért. A gyorsítótár tipp után egy kicsit többet kutattam: unix.stackexchange.com/q/5609/52921

    Válasz

    Ezt kipróbáltam, és ez nekem is megfelel.

    brew link --overwrite git 

    megjegyzések

    • nekem dolgozott a Mojave-on (10.14.4)

    válasz

    Amikor beírja

    git --version 

    a Terminal.app vagy a konzolba, egy másik kérdésre adott megjegyzése jelezte annak verzióját a return a / usr / bin / git fájlban található git

    Ha az Xcode 4.5 (és újabb) verziót telepítette, és írja be a következőt:

    xcrun git --version 

    A Terminal.app vagy a konzol, az általa visszaadott verzió az Xcode alkalmazáscsomag gitje.

    Ha a Homebrew-t használja a git telepítéséhez és frissítéséhez, akkor a legegyszerűbb megoldás:

    1. győződjön meg róla, hogy rendelkezik rendszergazdai jogosultságokkal, amikor az adminisztrátor jelszavát kéri
    2. nevezze át az eredeti helyet úgy, hogy átnevezi az mv használatával. Például

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

    3. az “ln -s” használatával hozzon létre egy soft linket a Homebrew-val telepített git bináris fájlhoz .

    Ne feledje, hogy a MattDMo-nak jobb megoldása van a megjegyzésekben.

    Megjegyzések

    • Ez 100% -ban biztonságos? Megszakít bármi, ami a mac-hoz kapcsolódik?
    • Ha a vázolt lépéseket követi, a megoldás nem fogja megszakítani az előtelepített programokat, mivel ezek a git futtatható fájlok nem törlődnek. Ezért a 2. lépésben át kell neveznie az eredeti / usr / bin / git pl. mint /usr/bin/git.BACKUP
    • Kérem, ne tegye ezt ‘ – ezt nem kéne ‘ t vacakoljon a /usr/bin vel, mivel ‘ lehetséges, hogy más programokat, amelyeket nem használ, ‘ Még arról sem tudunk, hogy függenek-e az adott verzióhoz kapcsolódó szeszélyek. A legegyszerűbb megoldás, anélkül, hogy bármit is áthelyezne, az, ha /usr/local/bin hozzáadja a $PATH környezeti változóhoz a /usr/bin – IIRC, a homebrew telepíti a következőt: /usr/local/bin
    • Köszönöm @MattDMo, ez tűnik a legjobb megközelítésnek ebben az esetben.

    Válasz

    Telepítse a git-t főzéssel, futtassa ezt.

    brew link --force git

    Zárja be és nyissa meg újra a terminált a which git futtatásához.

    Megjegyzések

    • Hogyan változtatja meg ez az alapértelmezett elérési utat?
    • Ez működött abban, hogy felülírtam az xcode ‘ s git-et.
    • Hiba történt a futtatáskor ez, de brew link --overwrite git működött

    Válasz

    Át kell neveznie az eredeti git az apple által az /usr/bin/ e-re. g. A git-org, mivel az /usr/bin általában /usr/local/bin előtt áll az Ön elérési útvonalának könyvtárában, ahol a főzési dolgok találhatók.

    Tehát:

    cd /usr/bin sudo mv git git-org 

    és ne felejtsd el összekapcsolni a főzési git

    brew link git 

    Ez azt feltételezi, hogy A /usr/local/bin a $PATH környezeti változóban van.Ha továbbra is problémája van, próbálja futtatni

    brew doctor 

    és kijavítani az ott említett problémákat.

    Megjegyzések

    • Ne nevezze át és ne nevezze át a / usr / bin fájlba a dolgokat, mert ez megtörheti az Apple thig-eket, és rendszerbe vagy XCode-ba történő frissítéskor felaprózódnak. használja azt az utat, amelyre tervezték,
    • @ Jelölje meg, hogy van pontja. De nem hiszem, hogy gondot okozna, ha csak a / usr / bin fájlban változtatja meg a git-et. Számomra ez több hónapig működik.
    • Egyetértek azzal, hogy a / usr / bin könyvtárban történő dolgok megváltoztatása általában rossz hír, de ‘ nem tudom felidézni az operációs rendszert X valójában a git-et használja, így az ártalom lehet csekély, és csak egy ” clean ” rendszerre vonatkozik, amely megegyezik a nyugtákkal. Az ártalom az OS X frissítésével helyettesítheti az új gitet egy régebbi verzióval, ennélfogva az a szokásos gyakorlat, hogy új bináris fájlt keressen a rendszer elérési útján kívül.
    • Szerintem sokkal könnyebb lenne hozzáadni /usr/local/bin (homebrew ‘ s telepítési könyvtár, IIRC) a $PATH címre a /usr/bin ahelyett, hogy átneveznénk és biztonsági másolatot készítenénk stb.

    Válasz

    Ha a git fájlt közvetlenül a git-scm.com webhelyről telepíti, és a legújabb letöltött git programot szeretné használni a git alma (régi) verziója helyett.

    1. A git telepítése a git-scm fájlból .com
    2. Valószínűleg új git lesz telepítve a /usr/local/bin/git
    3. Próbálkozzon git --version, ha visszaadja a git Apple régi verzióját, folytassa az alábbiakkal:
    4. cd ~ (a könyvtár megváltoztatása az otthoni könyvtárra)
    5. írja be a vi .bashrc
    6. Használja a i (szöveg beszúrása a vi szerkesztőbe)
    7. Ha export PATH....... sort talál, nyomja meg az Enter billentyűt az exportálás tetején, és írja be a következőt: export PATH=/usr/local/:$PATH (Fokozott óvatossággal hajtsa végre a PATH változót, ne rontsa el, különben problémákat okoz az Ön operációs rendszerének) új gitet kell telepíteni a /usr/local/git fájlba)
    8. Nyomja meg az esc billentyűt
    9. Írja be az :wq parancsot mentse a .bashrc fájlt)
    10. Lépjen ki a terminálból, és indítsa el az új terminált
    11. Most próbálja meg a git --version (látnia kell az új verziót)

    Válasz

    Csináljon egyszerű álnevet az útvonal megváltoztatásának elkerülése érdekében:

    alias git=/usr/local/bin/git 

    Válasz

    Sok mindent kipróbáltam, beleértve ezt a bejegyzést is ” s válaszol. Végül úgy tudtam elérni, hogy a git futtatott verziója fusson az Xcode helyett, egyszerűen törölve az Xcode további eszköztárát:

    sudo rm -rf /Library/Developer/CommandLineTools

    Válasz

    Amikor a brew install git parancsot használja a telepítéshez, vegye figyelembe, hogy telepítette a git alatt:

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

    kap egy hibát is, amely korábban megjelenik a naplóban, és valószínűleg hiányzott:

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

    Csak fuss:

     brew link --overwrite git  

    és jónak kell lenned.

    Válasz

    Attól függ, hogy honnan származik a git. Az Xcode például hoz egy verziót, lehet, hogy ez előre van az útjában.

    Lehet, hogy beírja

    which git 

    megmutatja, hol van a régi.

    Megjegyzések

    • ez ‘ s a /usr/bin/git
    • Két telepítésnek tűnik. Azt hiszem, a normál (letölthető) git verzió a / usr / local / git / … könyvtárba megy. Ez ‘, majd kérdés, hogy ezt hozzáadják az útvonalhoz, vagy eltávolítják a másikat (vagy mindkettő)

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük