Mac üzerinde Homebrew yüklü git nasıl kullanılır?


115

Homebrew kullanarak git'in en yeni sürümünü (1.8.3) yükledim ama yazarken

git --version

terminalimde yazdırıyor:

git version 1.7.10.2 (Apple Git-33)

Git'in eski sürümünü yenisiyle değiştirmek için ne yapmalıyım?


2
Birkaç iyi cevabınız var - bu yüzden soru üzerine yorum yapmak istedim. Git'i kaynağından homebrew veya bir GUI istemcisinden yüklemek için açık talimatlar mı yoksa sadece OS X'in git'in birkaç versiyonunu çekirdek işletim sistemi ile paketlediğine dair bir onay mı arıyorsunuz? opensource.apple.com/source/Git (FWIW - Apple paketini bugüne kadar gördüğüm en yeni git Git-37'den gelen
1.7.12.4'tür

Yanıtlar:


105

Yararlı cevaplar için herkese teşekkürler. Benim durumumda ekleme

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

içerisinde ~/.bash_profile, ardından

source ~/.bash_profile

benim kullanıcı için sorunu çözdü.


17
Eğer kullanıcı arasında kalıcı bir değişiklik istiyorsanız, taşıyabilir /usr/local/binyukarıda /usr/binyer /etc/paths.
kevin

3
Bu, brew doctorsorunu teşhis etmeye çalışırken Homebrew tarafından önerilen çözümdür
VoxPelli

1
Bu cevap KevinT'nin tanımladığı çözüm önerisiyle güncellenmelidir /etc/paths. Yalnızca "ihracat" ı tanımlamak yeterli olmayabilir, eğer ( /usr/bin" /usr/local/bindemlemek " den "öncelik" e
sahipse

8
Terminali yeniden başlatmayı unutmayın! Juan Diego Gonzales adlı kullanıcının yorumunu görene kadar benim başıma gelmedi
Souleiman

2
@Souleiman: Yeniden başlatma gerekli değildir. source ~/.bash_profileBunu tekrar okuyacak. Yeniden başlatma, muhtemelen daha hızlı / kolaydır. :)

43

Tamam, scm konusunda ciddi olmaya hazırım.

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

Hayır, istediğim bu değildi. Ben <3 homebrew, yani:

$ brew install git

Hepsi hazır mı?

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

Doh! (çizik baş)

$ which git
/usr/bin/git

Ah, Apple'ın git / usr / bin, bu yüzden homebrew birini geçiyor. Ne yapalım?

(A) Sadece Apple'ın ikilisini yeniden adlandır

(B) Homebrew tarafından yönetilen birinin öncelik kazanmasına izin verin:

[PATH dışa aktarma örneğini düzenleyin, örneğin ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tanjant)]

[özellikle: / usr / yerel / bin / git hareket et: önce / usr / bin:]

... ve / veya (örneğin, homebrew sayfalarının trump sisteminin kurmasına izin vermek ve önceliğin tüm kabuklara ve kullanıcılara uygulanmasını sağlamak için) ayrıca / etc / paths dosyasını, [moving / usr / local / bin / / usr / bin 'in üzerinde düzenleyin. ]

Ancak, en basit / en az invaziv yaklaşımı varsayarsak:

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

İşe yaradı mı?

$ which git
/usr/local/bin/git

Şimdilik çok iyi, şimdi gerçek anı:

$ git --version
git version 2.2.1

w00t! :) Gitme zamanı http://git-scm.com ! :)


PS Rel / usr / bin düzenleme riskleri ile ilgili yorumlara: IMHO bu NBD. (Global göçebe'nin "sudo ln -s / usr / local / bin / git / git / usr / bin / git" ... 'i yapmasını tavsiye ettim, ki "/ usr / bin / git" diye bir şeyin açıkça almasını sağlar. brew tarafından yönetilen bir tanedir.Ama benim adım, git yüklemesi sisteminizde git'in mülkiyetini almış olduğunuz anlamına gelir.Bir daha eski, alternatif bir sürümü kullanan bilinmeyen süreçler konusunda endişeler yanlış yerleştirilmiş olabilir. git sürümleri (güvenlik için değil, sadece özellikler) ve kendiniz yönetmek Homebrew bu kolaylaştırır /$0.02..
cweekly

Bu benim için işe yaramadı, geri almak için, sadece yapın: sudo mv / usr / bin / git-elma / usr / bin / git. Juan Diego Gonzales yorum yaptı. (Temel olarak, kabul edilen cevabı takip edin ve terminali yeniden başlatın)
Souleiman

which gitİşaret ederken bile /usr/local/bin/git, bu benim için işe yaramadı. Bunu çözmek için GitHub Mac uygulamasını kaldırmak zorunda kaldım.
Ben

2
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
Vladislav Rastrusny

Bu günlerde homebrew kendini
PATH'in

32

Durum 2019

Burada birkaç cevapta bahsedilen tüm numaralar en son Homebrew ile macOS Sierra & Mojave'da artık gerekli değildir. Unut export PATH="..."ve değiştir ~/.bash_profile.

Sen sadece yap

brew install git

ve senin yaptığın.

Onaylamak için yeni (!) Bir terminal penceresi açın ve

git --version

16
Bunun doğru olduğunu düşünüyorum, ancak yeni bir terminal açmanız gerekiyor, aksi halde değişiklik henüz gerçekleşmedi
robjwilkins

Bu maalesef benim için çalışmıyor.
rsp1984

2
Bu benim için Mojave'de çalıştı. Yeni bir terminal açmak zorunda kaldım .
Craig Otis

2
brew link --overwrite gitbenim için çalıştı
wickdninja

9

En son git'i brew ( brew install git) ile yükledikten sonra , brew doctorzaten bulunmuyorsa , bu tek astarı (önerildiği gibi) çalıştırın :

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

Sonra Terminal a'dan çıkıp tekrar açın (bash oturumunuzu yeniden başlatın). ZHH'niz zaten doğru olsa bile, ZSH ve Bash PATH'in içeriğini önbelleğe aldığından bunu yapmanız gerekir (yerleşik komuttaki belgelere bakın hash).

Bu işleri çok hızlı düzeltmeli.


1
Bunun kabul edilen cevaptan farkı nedir?
user151019

6
Benim durumumda, Terminal'i yeniden başlatmam gerektiğini bilmiyordum, böylece bu kısım bazı insanlara yardım edebilirdi. Tek astar nedeniyle kabul edilenden daha hızlıdır. Eğer bir rekabetse, cevabımın yanlış olduğunu düşünüyorum. Aksi takdirde katkıda bulunduğunu düşünüyorum. (Bunun yerine bir düzenleme yapmamı istiyor musunuz söyleyin).
Juan Diego Gonzales,

Homebrew'i kurduğunuzda bu astarı yapıyorsunuz
user151019

7
Bu cevabı yararlı buldum. Terminali yeniden başlatmak, .bash_profile'nin çalışmalarına aşina olmayan birçok kişi için açık olmayan bir konudur ve geri kalanımız için nazik bir hatırlatmadır.
Magne

@JuanDiegoGonzales Mükemmel gözlem! Git'i yükledikten ve nedenini bilmiyordum sonra da aynı şeyi merak ediyordum. Önbellek ipucundan sonra biraz daha araştırma yaptım: unix.stackexchange.com/q/5609/52921
kstratis

4

Ne zaman yaz

git --version

Terminal.app veya konsolda, başka bir soruya yorumunuz, döndürdüğü sürümün / usr / bin / git içindeki git olduğunu belirtir.

Xcode 4.5'i (ve daha yenisini) yüklediyseniz ve

xcrun git --version

Terminal.app veya konsolunda, döndürdüğü sürüm, Xcode uygulama paketindeki git'dir.

Git'i yüklemek ve güncellemek için Homebrew kullanıyorsanız, en basit çözüm

  1. Yönetici şifresinin isteneceği gibi yönetici haklarına sahip olduğunuzdan emin olun.
  2. orijinal konumunu yeniden adlandırıp mv kullanarak yeniden adlandırın. Örneğin

    sudo mv / usr / bin / git / usr / bin / git-ORİJİNAL

  3. Homebrew ile kurduğunuz git ikili dosyasına 'ln -s' kullanarak yumuşak bir bağlantı oluşturun.

MattDMo'nun yorumlarda daha iyi bir çözüm olduğunu unutmayın.


Bu% 100 güvenli midir? Mac ile ilgili bir şey kıracak mı?
Levani

Belirtilen adımları izlerseniz, çözüm bu git çalıştırılabilir dosyaları silinmediğinden önceden yüklenmiş hiçbir şeyi bozmaz. Bu nedenle, 2. adımda orjinal / usr / bin / git adınızı örneğin /usr/bin/git olarak değiştirmelisiniz.BACKUP
Global nomad

10
Lütfen bunu yapmayın - gerçekten uğraşmamanız gerekir /usr/bin, çünkü bilmediğiniz diğer programların belirli bir sürümle ilgili vagonlara bağlı olması mümkündür. En kolay çözüm, hiçbir şey hareket ettirmeden, eklemektir /usr/local/binsizin için $PATHönce ortam değişkeni /usr/bin- IIRC, homebrewleri için yükler/usr/local/bin
MattDMo

Thanks @ MattDMo, bu durumda en iyi yaklaşım gibi görünüyor.
Levani

2

Bunu denedim ve benim için çalışıyor.

brew link --overwrite git

Benim için Mojave'de çalıştı (10.14.4)
biberli

1

Orijinal git'i apple ile yeniden adlandırmanız gerekir, /usr/bin/çünkü /usr/binnormalde /usr/local/bindemleme işinin bulunduğu yol dizininde olduğundan , örneğin git-org .

Yani:

cd /usr/bin
sudo mv git git-org

demlemek git bağlamayı unutmayın

brew link git

Bu /usr/local/bin, $PATHortam değişkeninizde olduğunu varsayar . Hala problem varsa kaçmayı dene

brew doctor 

ve burada belirtilen sorunları düzeltin.


3
Don; t / usr / bin içindeki şeyleri Apple thigs'leri kırabileceklerinden dolayı yeniden adlandırın veya chnage edinmeyin. için tasarlandığı yolu kullanın,
user151019

@Mark bir puanınız var. Ancak sadece / usr / bin dizininde git değiştirirseniz sorun yaşayacağınıza inanmıyorum. Benim için birkaç ay çalışıyor.
Pfitz

Normalde / usr / bin içindeki şeyleri değiştirmenin kötü bir haber olduğu konusunda hemfikirdim, ancak OS X'i gerçekten git kullanarak hatırlayamıyorum, bu yüzden zarar çok az olabilir ve sadece makbuzlarla eşleşen "temiz" bir sistemle ilgili olabilir. Zarar OS X’e yapılan bir güncelleme, yeni git’i eski bir sürümle değiştirebilir, bu nedenle normal uygulama, sistem yolu konumunun dışında yeni bir ikili dosya bulmaktır.
bmike

3
Yeniden adlandırmak ve yedekleme /usr/local/bin$PATH/usr/bin
yapmakla uğraşmak

1

Git brew ile çalıştırın, çalıştırın.

brew link --force git

Kapatmak ve çalıştırmak için terminali tekrar açın which git.


1
Bu varsayılan yolu nasıl değiştirir?
kullanici151019

Bu benim için xcode git git geçersiz kılmak için çalıştı.
surjikal

Bu çalıştırırken bir hata aldım ama brew link --overwrite gitçalıştı
wickdninja

0

Git'i doğrudan git-scm.com adresinden yüklüyorsanız ve git'in elma (eski) sürümü yerine en son indirilen git'i kullanmak istiyorsunuz.

  1. Git git-scm.com adresinden git yükleyin
  2. Büyük olasılıkla yeni git kurulacak /usr/local/bin/git
  3. git --versionApple'ın git eski sürümünü döndürürse deneyin.
  4. cd ~ (dizini giriş dizininize değiştirin)
  5. tip vi .bashrc
  6. Kullan i(vi editörüne metin eklemek için)
  7. Bir çizgi bulursanız export PATH......., dışa aktarmanın en üstündeki enter tuşuna basın ve aşağıdakini yazın: export PATH=/usr/local/:$PATH( PATHDeğişkene çok dikkat edin, aksi takdirde karışıklığa neden olmaz, işletim sisteminiz için sorunlara neden olur) (umarım yeni git yüklü olmalıdır /usr/local/git)
  8. Esc tuşuna basın
  9. Gir :wq( .bashrcdosyayı kaydetmek için )
  10. Terminalden çıkın ve yeni terminale başlayın
  11. Şimdi dene git --version(yeni sürümü görmelisin)

-1

Gitinin nereden geldiğine bağlı. Xcode, belki de yolunuzda açık olan bir sürüm getiriyor.

Belki yazarak

which git

eskisi nerede olduğunu göstereceğim.


içinde /usr/bin/git...
Levani

2
İki kurulum gibi görünüyor. Sanırım normal (indirilebilir) git sürümü / usr / local / git / 'a gidiyor. O zaman bu yola ekleme veya diğerini (veya her ikisini de kaldırma) söz konusu oluyor
Nicholaz

-2

Gcc kullanarak derlemeyi içeren OSX'te Homebrew kullanarak bir şey yükseltmek için, güncellenmiş Komut Satırı Araçlarını Xcode'dan aldığınızdan emin olun - evet, bir uygulamanın tercihlerinde sistem genelinde bir aracı gizlemek zorunda kaldığını biliyorum.

adımlar

  1. Xcode.app -> Tercihler -> İndirmeler'e gidin
  2. Komut Satırı Araçları'nı güncelleyin (veya yükleyin)
  3. brew doctorDiğer tüm engelleri çalıştır ve düzelt
  4. brew upgradeTüm paketleri aynı anda yükseltmek için çalıştırın
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.