Git'i macOS'ta en son sürüme nasıl yükseltirim?


165

OS X Lion ile yeni bir Mac aldım ve Terminal'de varsayılan olarak git'in hangi sürümünün yüklü olduğunu kontrol ettim. Cevabı aldım

git --version
> git version 1.7.5.4

Git'i en son 1.7.8.3 sürümüne yükseltmek istiyorum, bu yüzden "git-1.7.8.3-intel-universal-snow-leopard.dmg" dmg yükleyicisini indirdim ve başlattım.

Kurulumdan sonra Terminal hala versiyonun 1.7.5.4 olduğunu söylüyor. Neyi yanlış yapıyorum?


4
Tür which gitikili nerede olduğunu görmek için. Yenisini kurduğunuz yer bu mu?
Greg Hewgill

4
Diyor /usr/bin/git1.7.5.4 için değil, DMG yeni sürümü yüklü nerede nasıl bilebilirim? Neden önceki sürümü otomatik olarak yükseltmiyor / üzerine yazmıyor? Yenisini kullanmak istersem, gitkomutu yeni sürüme nasıl bağlayabilirim ? (bu arada gerçekten hızlı cevabınız için teşekkürler!)
Nicolas Renon

1
benim mac (os 10.6.8) eski git 1.7.5.4 / usr / bin / git yaşıyor iken yeni git installer 1.7.11.3 git / usr / local /
miker 14:12

Süper kullanıcı.com/ a/ 580611/74576'nın iyi bir yaklaşım olup olmadığını merak ediyorum . Keşke komutları bulabilseydim.
Ryan

.Bashrc yerine .bash_profile girdim ve çalıştı. Terminalinizin "Varsayılan Giriş Kabuğu" olarak çalıştığını düşünüyorum.
Swapnil Chincholkar

Yanıtlar:


58

Ekleseniz muhtemelen daha iyi olur:

export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH

ana klasörünüzde .bashrc adlı bir dosyaya gidin. Bu şekilde yükleyebileceğiniz diğer yazılımlar/usr/local/git/bin önce da bulunur.

Bunu yapmanın kolay bir yolu için şunu yazın:

echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc

Terminal içine ve sizin için yapacak.


1
README.txt'nin dediği gibi git / usr / local / git'e kurulur.
bananaaus

18
kmikael'in kullanışlı ipucu sadece bash içindir. (Mac varsayılan kabuğunu değiştirmek için sistem tercihlerindeki hesapların veya "kullanıcılar ve gruplar" penceresinin kilidini açın, "gelişmiş seçenekler" için hesabı kontrol edin ve tıklayın.) Bashrc yerine bash_profile kullanarak bir öneri, örn echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile. Moncefbelyamani.com .
.Bash_profile

Yüklemek için ne kullandınız git? En son sürümü kontrol ettim, resmi yükleyici buraya/usr/local/git/bin/git git'i yükler , bu da yukarıdaki yöntemin hala 10.8.4 üzerinde çalışması gerektiği anlamına gelir.
kmikael

Teşekkürler miker .bash_profile ile çalıştı, ama .bashrc ile çalıştı.
adimauro

Çalışsa bile bu çözümün işaretini kaldırdım. Lütfen açıklama için mesajımın güncellemesini okuyun.
Nicolas Renon

52

Homebrew'unuz zaten basittir : Homebrew'un kurulu olduğunu varsayarsak, aşağıdakileri yazın:

brew install git

Kurulduktan sonra, Apple yerine yerel git dağıtımına giden yolumuzu belirleyecek aşağıdaki iki satırı yazın.

export PATH=/usr/local/bin:$PATH
git --version

HOMEBREW'İNİZ YOKSA, BU ADIMLARI TAKİP EDİN Sürümü kontrol edin

$ git --version

Apple git'i yedekleme (veya kaldırma) (İsteğe bağlı)

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

Sahip değilseniz Homebrew'u yükleyin

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Veya zaten varsa güncelleyin

$ brew update && brew upgrade

Git'i Homebrew ile yükleyin

$ brew install git

Sembolik bağlantı

$ brew link --force git

Terminal'i kapatın ve yeniden açın, ardından sürümü kontrol edin

$ git --version

Görmelisin…

git version <latest version>

Güzel! Artık güvendeyiz! Ve bir dahaki sefere ...

$ brew update && brew upgrade


10
İlgili sudo mv /usr/bin/git /usr/bin/git-apple: Sistem git'in yeniden adlandırılması, mac.selckexchange.com/a/248229/16290 adresinde açıklandığı gibi Sistem Bütünlüğü Korumasını devre dışı bırakmazsanız macOS El Capitan ve sonraki sürümlerde çalışmaz . Şahsen ben sadece benim güncellemek PATHSo /usr/local/binönce gelir /usr/bin. Bu şekilde Homebrew'un git'i her zaman önceliğe sahiptir (terminali kapatıp yeniden açtıktan sonra). Git güvenlik açıkları için Apple sonunda paketlenmiş git'i güvenlik güncelleştirmeleriyle güncelleştirir. Bu arada, PATH'yi açıklandığı gibi yapılandırarak yerleşik git'i kullanmaktan kaçınabilirsiniz.
Nate Cook

16

Google'da "mac'ta git yükseltme sorununu" aradıktan sonra, birkaç yayını okudum ve 4. adımı tamamlayarak sorunu çözmeden önce aşağıdakileri denedim:

  1. Terminal yolumu yukarıda belirtilen export komutunu kullanarak güncelledim. Terminalden her çıkıp yeniden başlattığımda, terminali yazdığımda git --versionyine de eski 1.8 sürümünü döndürüyoruz.

  2. Ben .dmg yükleyicisi ile gelen geçerli 2.0.1 sürümüne yükseltme için README.txt yönergeleri izledi ve terminal yeniden başlattığınızda, yine de devam.

  3. Yukarıda belirtildiği gibi / etc / path / klasörünü aradım ve Mac'te "path" adı verilen dizin mevcut değil. OS X Mavericks sürüm 10.9.4 kullanıyorum.

  4. Sonra Mac'ime Homebrew yüklediğimi ve aşağıdakileri çalıştırdığımı hatırladım :

    brew --version
    brew update
    brew search git
    brew install git
    

Bu sonunda sorunumu çözdü. Bunun neden işe yaradığına dair bir fikir sahibi olsaydı, daha fazla kavrayış çok takdir edilecektir. Muhtemelen sistemimde geçen yıl Ruby ile çalışmaktan yol ayarlarım var.


1
Git'i zaten yüklemiştim. Bu yüzden son adımı takip ederken brew install gitbir hata mesajı aldım ve bunun brew upgrade gityerine komutu çalıştırmayı önerdi . Adamsın! Bu sadece hile yaptı :)
Pathros

15

Yakın zamanda OS X makinemdeki Git'i de en son sürüme yükselttim. .dmgKullandığınızla aynı şeyi kullanmadım, ancak yüklediğimde ikili dosyalar yerleştirildi /usr/local/bin. Şimdi, benim PATHayarlandığım şekilde, dizin daha /usr/binönce görünür /usr/local/bin. Yani yaptığım şey:

cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/

Bu, adlandırılan birkaç orijinal programı git*, onları yoldan uzak tutan yeni bir alt dizine taşır . Bundan sonra, which gitŞekil biri bu/usr/local/bin .

Yukarıdaki prosedürü, yeni ikili dosyaları kurduğunuz her yere uyacak şekilde gerektiği şekilde değiştirin.


2
Teşekkürler! Aslında yeni ikili dosyalar yerleştirildi /usr/local/git.
Nicolas Renon

1
Not: Yeni git'i görmek için Terminal'i yeniden başlatmam gerekti. Anlaşılan ama ilk başta beni karıştırdı.
migg

15

homebrew kullanıyorsanız sim linklerini

brew link --overwrite git

Bunun üzerindeki tüm diğer cevapları denedim ve nihayet beni git'in son sürümü ile ayarladım. çalışan brew install gitbana en son sürümü var ama düzgün symlink kurmak değildi. running brew link gitbana zaten mevcut olduğu için git symlink olamaz diyerek bir hata verdi. nihayet koşma brew link --overwrite gitçivi tabutun içine koydu, bu yüzden şimdi git --version
git'in

7

Git ana sayfasındaki yükleyici /usr/local/gitvarsayılan olarak yüklenir . Ancak, XCode4'ü yüklerseniz , içine bir git sürümü yüklenir /usr/bin. Kolayca web sitesinden yükseltme ve yere son git versiyonu, düzenleme ya profil bilgilerinizi kullanabilir sağlamak için /usr/local/git/binönce /usr/biniçinde $ PATH veya düzenlemek /etc/pathsve eki/usr/local/git/bin birinci girdi olarak.

En azından benim için çalışılan / etc / path'lardaki düzeni değiştiren birine yardımcı olabilir .



6

Mac'te git'i yükseltmek için aşağıdakileri kullandım.

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: 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

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1

benim durumumda git zaten yüklü vardı ve ben daha yeni bir sürümünü indirilen homebrew kullanarak yüklenen, ancak düzgün bağlı değildi. Manuel olarak bağlantısını kaldırmak için gerekli sona erdi, sonra yeniden bağlamak sonra çalıştı. Ben de eski / sistem sürümü yerine yeni sürümü bulmak böylece terminal oturumumu yeniden açmak gerekiyordu: brew unlink git && brew link git && source ~/.bashrc
FireDragon


2

Her iki sürümü de korumak için, PATH ortam değişkeninin değerini yeni sürümün git yolunu "/ usr / local / git / bin /" en başa koyarak değiştirdim, en yeni sürümü kullanmaya zorlar:

$ echo $ PATH

/ Usr / bin: / bin: / usr / sbin / sbin: / usr / local / bin: / opt / X11 / bin: / usr / local / git / bin /

$ git --version

git sürüm 2.4.9 (Apple Git-60)

orijinal değer: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / opt / X11 / bin: / usr / local / git / bin /

yeni değer: / usr / local / git / bin / : / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / opt / X11 / bin

$ export PATH = / usr / local / git / bin /: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / opt / X11 / bin

$ git --version

git sürüm 2.13.0


1

Homebrew olmadan

  1. Git'in web sitesinden yükleyiciyi kullanın .
  2. ~/.bash_profileDosyanızı güncelleyin .Bu komutun, kmikael'in yanıtından dosyaya koyduğundan farklı olduğuna dikkat edin:
    • Diğer komut: export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on]
    • Komutun altında: export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"
    • Hangisini tercih ederseniz kullanın.

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

  1. Xcode kullanıyorsanız, bazı sembolik bağlantılar eklemeniz gerekir .
    • Misal: ln -s /opt/local/bin/git /usr/bin/git
  2. Terminali yeniden başlatın.
    • which gitREADME.txtdmg dosyasındaki dizini söylemelidir .
    • git --version güncellenmiş sürümü söylemeliyiz.
    • echo $PATH ile başlamalı /usr/local/git/bin:/usr/local/sbin:

0

Yol hiyerarşisini değiştirmemeyi tercih ediyorum, ama bunun yerine özellikle git ile ilgileniyorum ... yeni git'in artık yöneteceklerini yapmak için asla eski git'i kullanmayacağımı bilerek . Bu bir kaba kuvvet çözümüdür.

NOT: Önce XCode'u Yosemite (10.10.2) temizine kurdum .

Daha sonra git-scm.com adresindeki ikili dosyadan yükledim .

$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)

0

Bu şekilde yaptım:

  1. Mac'te yüklü GitHub uygulamasını açın
  2. Gelişmiş sekmesini → Komut satırı araçlarını yükle'yi tıklayın
  3. Tüm komutların yüklendiğini belirten bir ileti aldıktan sonra terminalinizi kapatın ve yeniden açın.
  4. Şimdi kontrol edin git --version, size en son sürümü vermelidir.

0

Kabuk yolunu ayarlamanız gerekir, yol ana dizininizdeki .bashrc veya .bash_profile olarak ayarlanır, büyük olasılıkla .bash_profile

Bu nedenle, aşağıdakine benzer yola ekleyin ve zaten yolda olanı saklayın, her segment bir iki nokta üst üste ile ayrılır:

ihracat PATH = "/ usr / local / bin: / usr / bin / git: / usr / bin: / usr / local / sbin: $ PATH"


0

En son sürüm git-scm.com'da mac için bir ikili olarak mevcut değildi, bu yüzden kaynaktan yükledim. Yerelleştirme için gerekli bir paketi eksik ve NO_GETTEXT=trueyerelleştirme olmadan yüklemek için ekledim .

git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install

Bu yüklü gitaltında ~/bino zaman benim başlangıcına eklemek zorunda hangi PATHdeğişkenin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.