Bagaimana cara meningkatkan Git ke versi terbaru di macOS?

165

Saya baru saja membeli Mac baru dengan OS X Lion dan saya memeriksa di Terminal versi git apa yang diinstal secara default. Saya mendapat jawabannya

git --version
> git version 1.7.5.4

Saya ingin memutakhirkan git ke versi terbaru 1.7.8.3, jadi saya mengunduh installer dmg "git-1.7.8.3-intel-universal-snow-leopard.dmg" dan saya meluncurkannya.

Setelah menginstal, Terminal masih mengatakan bahwa versinya adalah 1.7.5.4. Apa yang saya lakukan salah?

Nicolas Renon
sumber
4
Ketik which gituntuk melihat di mana biner berada. Apakah itu tempat yang sama Anda menginstal yang baru?
Greg Hewgill
4
Dikatakan /usr/bin/gituntuk 1.7.5.4, tetapi bagaimana saya bisa tahu di mana DMG menginstal versi baru? Mengapa tidak meningkatkan / menimpa versi sebelumnya secara otomatis? Jika saya ingin menggunakan yang baru bagaimana saya bisa menautkan gitperintah ke versi baru? (terima kasih atas jawaban Anda yang sangat cepat!)
Nicolas Renon
1
di mac saya (os 10.6.8) git lama 1.7.5.4 tinggal di / usr / bin / git sementara installer baru git 1.7.11.3 menempatkan git ke / usr / local /
miker
Saya ingin tahu apakah superuser.com/a/580611/74576 adalah pendekatan yang baik. Saya berharap saya bisa mengetahui perintah untuk itu.
Ryan
Saya membuat entri di .bash_profile bukan .bashrc & berhasil. Saya pikir jika terminal Anda berjalan sebagai "Default Login Shell" maka itu terjadi.
Swapnil Chincholkar

Jawaban:

58

Mungkin akan lebih baik jika Anda menambahkan:

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

ke file bernama .bashrc di folder rumah Anda. Dengan cara ini, perangkat lunak lain yang mungkin Anda instal /usr/local/git/binjuga akan ditemukan terlebih dahulu.

Untuk cara mudah melakukannya, ketik saja:

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

ke Terminal dan itu akan melakukannya untuk Anda.

kmikael
sumber
1
Seperti yang dikatakan README.txt, git diinstal ke / usr / local / git.
bananaaus
18
Tip berguna kmikael hanya untuk bash. (Untuk mengubah shell default mac membuka kunci akun atau jendela "users & groups" di sistem prefs, kontrol-klik akun untuk "opsi lanjutan".) Saran menggunakan bash_profile alih-alih bashrc, mis. echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profileDi moncefbelyamani.com . Diskusi apakah akan ditambahkan ke .bash_profile atau .bashrc ada di superuser.com
miker
Apa yang Anda gunakan untuk menginstal git? Saya baru saja memeriksa versi terbaru, installer resmi di sini menginstal git /usr/local/git/bin/git, yang berarti metode di atas masih bekerja pada 10.8.4.
kmikael
Terima kasih @miker itu bekerja untuk saya dengan .bash_profile, tetapi tidak .bashrc.
adimauro
Saya menghapus centang solusi ini, bahkan jika itu berhasil. Baca pembaruan pesan saya untuk penjelasannya.
Nicolas Renon
52

Ini sederhana jika Anda sudah memiliki Homebrew : Dengan anggapan Anda telah menginstal homebrew, ketikkan yang berikut:

brew install git

Setelah terinstal, kemudian ketikkan dua baris berikut, yang akan menetapkan path kita ke distro git lokal alih-alih Apple.

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

JIKA ANDA TIDAK MEMILIKI HOMEBREW, IKUTI LANGKAH INI Periksa versi

$ git --version

Cadangkan (atau hapus) Apple git (Opsional)

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

Instal Homebrew jika Anda tidak punya

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

Atau perbarui jika sudah

$ brew update && brew upgrade

Instal Git dengan Homebrew

$ brew install git

Tautan simbolik

$ brew link --force git

Tutup Terminal dan buka kembali lalu periksa versinya

$ git --version

Anda harus melihat ...

git version <latest version>

Bagus! Kami aman sekarang! Dan lain kali Anda bisa ...

$ brew update && brew upgrade

kvm006
sumber
10
Mengenai sudo mv /usr/bin/git /usr/bin/git-apple: Mengganti nama sistem git tidak akan berfungsi pada macOS El Capitan dan yang lebih baru kecuali Anda menonaktifkan Perlindungan Integritas Sistem seperti dijelaskan di sini apple.stackexchange.com/a/248229/16290 . Secara pribadi saya hanya memperbarui PATHsehingga saya /usr/local/bindatang sebelumnya /usr/bin. Dengan begitu git Homebrew selalu diutamakan (setelah Anda menutup terminal dan membuka kembali). Untuk kerentanan keamanan git, Apple pada akhirnya akan memperbarui git yang dibundel dengan pembaruan keamanan mereka. Sementara itu seseorang dapat dengan mudah menghindari menggunakan built-in git dengan mengkonfigurasi PATH seperti yang dijelaskan.
Nate Cook
16

Setelah mencari "masalah meningkatkan git di mac" di Google, saya membaca beberapa posting dan mencoba yang berikut sebelum menyelesaikan masalah dengan menyelesaikan langkah 4:

  1. Saya memperbarui jalur terminal saya dengan menggunakan perintah ekspor yang disebutkan di atas. Setiap kali saya keluar dari terminal dan menyalakannya kembali, ketika saya mengetik git --versionterminal, ia masih mengembalikan versi yang lebih lama 1.8.

  2. Saya mengikuti petunjuk README.txt untuk memutakhirkan ke versi 2.0.1 saat ini yang datang dengan penginstal .dmg dan ketika saya me-restart terminal, masih tidak bisa jalan.

  3. Saya mencari / etc / path / folder seperti yang diinstruksikan di atas dan direktori yang disebut "path" tidak ada di Mac saya. Saya menjalankan OS X Mavericks versi 10.9.4.

  4. Kemudian saya ingat saya telah menginstal Homebrew di Mac saya dan menjalankan yang berikut:

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

Ini akhirnya menyelesaikan masalah saya. Jika ada yang memiliki wawasan mengapa ini berhasil, wawasan lebih lanjut akan sangat dihargai. Saya mungkin memiliki beberapa pengaturan path sisa pada sistem saya dari bekerja dengan Ruby tahun lalu.

Bahasa Inggris Shaun
sumber
1
Saya sudah menginstal git. Jadi ketika mengikuti langkah terakhir brew install gitsaya mendapat pesan kesalahan dan disarankan untuk menjalankan brew upgrade gitperintah sebagai gantinya. Kamulah orangnya! Itu hanya trik :)
Pathros
15

Saya baru-baru ini meningkatkan Git pada mesin OS X saya ke yang terbaru juga. Saya tidak menggunakan yang sama dengan yang .dmgAnda gunakan, tetapi ketika saya menginstalnya, binari ditempatkan /usr/local/bin. Sekarang, cara saya PATHdiatur, direktori /usr/binmuncul sebelumnya /usr/local/bin. Jadi yang saya lakukan adalah:

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

Ini memindahkan beberapa program asli yang dinamai git*ke subdirektori baru yang mencegahnya. Setelah itu, which gitmenunjukkan bahwa yang di /usr/local/bintemukan.

Ubah prosedur di atas seperlunya agar pas di mana pun Anda menginstal binari baru.

Greg Hewgill
sumber
2
Terima kasih! Sebenarnya binari baru ditempatkan di /usr/local/git.
Nicolas Renon
1
Catatan: Saya harus memulai ulang Terminal untuk melihat git baru. Tampak jelas tetapi membingungkan saya pada awalnya.
migg
15

jika menggunakan homebrew Anda dapat memperbarui tautan sim menggunakan

brew link --overwrite git
rafaecheve
sumber
Saya mencoba semua jawaban lain di atas yang satu ini dan inilah yang akhirnya membuat saya dengan versi terbaru git. menjalankan brew install gitmemberiku versi terbaru tetapi tidak mengatur symlink dengan benar. running brew link gitmemberiku kesalahan yang mengatakan itu tidak bisa symlink git karena sudah ada akhirnya berlari brew link --overwrite gittaruh paku di peti mati jadi sekarang git --versionmenunjukkan aku pada versi terbaru git
Gharbad The Weak
7

Installer dari homepage git diinstal /usr/local/gitsecara default. Namun, jika Anda menginstal XCode4 , itu akan menginstal versi git di /usr/bin. Untuk memastikan Anda dapat dengan mudah meningkatkan dari situs web dan menggunakan versi git terbaru, edit informasi profil Anda untuk ditempatkan /usr/local/git/binsebelumnya /usr/bindi $ PATH atau edit /etc/pathsdan masukkan /usr/local/git/binsebagai entri pertama.

Ini mungkin membantu seseorang setidaknya mengubah urutan / etc / path yang berfungsi untuk saya.

Mohammad Arif
sumber
7

Bagi saya, dengan Homebrew 1.6.7, yang berikut ini berhasil:

brew upgrade git
Karolis Šarapnickis
sumber
6

Saya menggunakan yang berikut ini untuk meningkatkan git di mac.

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
Janesh Kodikara
sumber
dalam kasus saya, saya sudah menginstal git, dan saya menginstal lagi menggunakan homebrew yang mengunduh versi yang lebih baru, tetapi tidak terhubung dengan benar. Saya akhirnya perlu memutuskan tautan secara manual, lalu menautkan kembali lalu berfungsi. Saya juga perlu membuka kembali sesi terminal saya sehingga akan menemukan versi baru, bukan versi / sistem yang lebih lama: brew unlink git && brew link git && source ~/.bashrc
FireDragon
5

cara paling sederhana yang saya temukan sejauh ini adalah dari situs resmi git. Itu hanya menghitung dependensi dan mengunduh semua pustaka / alat yang diperlukan

http://git-scm.com/book/en/Getting-Started-Installing-Git

Cara utama lainnya adalah menginstal Git melalui MacPorts ( http://www.macports.org ). Jika Anda menginstal MacPorts, instal Git via

$ sudo port install git-core + svn + doc + bash_completion + gitweb

Kiddo
sumber
2

Untuk menjaga kedua versi, saya baru saja mengubah nilai variabel lingkungan PATH dengan meletakkan git path versi baru "/ usr / local / git / bin /" di awal, itu memaksa untuk menggunakan versi terbaru:

$ echo $ PATH

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

$ git --versi

git versi 2.4.9 (Apple Git-60)

nilai asli: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / opt / X11 / bin: / usr / lokal / git / bin /

nilai baru: / 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 --versi

git versi 2.13.0

Sandro E Martínez
sumber
1

Tanpa Homebrew

  1. Gunakan installer dari situs web git.
  2. Perbarui ~/.bash_profilefile Anda . Perhatikan bahwa perintah ini berbeda dari jawaban kmikael dengan apa yang dimasukkan dalam file:
    • Perintah lain: export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on]
    • Perintah di bawah ini: export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"
    • Gunakan yang mana yang Anda inginkan.

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

  1. Jika Anda menggunakan Xcode, Anda harus menambahkan beberapa tautan simbolis .
    • Contoh: ln -s /opt/local/bin/git /usr/bin/git
  2. Mulai ulang terminal.
    • which gitseharusnya mengatakan direktori dalam README.txtfile dari dmg.
    • git --version harus mengatakan versi yang diperbarui.
    • echo $PATH harus dimulai dengan /usr/local/git/bin:/usr/local/sbin:
GreeKatrina
sumber
0

Saya lebih suka untuk tidak mengubah hierarki jalur, tetapi menangani git secara khusus ... mengetahui bahwa saya tidak akan pernah menggunakan git lama untuk melakukan apa yang sekarang akan dikelola git baru . Ini adalah solusi brute force.

CATATAN: Saya menginstal XCode pada Yosemite (10.10.2) bersih terlebih dahulu .

Saya kemudian menginstal dari biner yang tersedia di git-scm.com .

$ 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)
azatar
sumber
0

Saya melakukannya dengan cara ini:

  1. Buka aplikasi GitHub yang diinstal pada Mac
  2. Klik pada tab Advanced → Instal alat baris perintah
  3. Setelah Anda menerima pesan bahwa semua perintah telah dipasang, tutup terminal Anda dan buka kembali.
  4. Sekarang periksa git --version, itu akan memberi Anda versi terbaru.
Waaheeda
sumber
0

Anda perlu menyesuaikan shell path, path tersebut akan diatur dalam .bashrc atau .bash_profile di direktori home Anda, kemungkinan besar .bash_profile

Jadi tambahkan ke jalur yang mirip dengan di bawah ini dan simpan apa yang sudah Anda miliki di jalur, setiap segmen dipisahkan oleh tanda titik dua:

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

Windy71
sumber
0

Versi terbaru tidak tersedia sebagai biner untuk mac di git-scm.com, jadi saya menginstal dari sumber. Saya melewatkan paket yang diperlukan untuk pelokalan, dan menambahkan NO_GETTEXT=trueuntuk menginstal tanpa pelokalan.

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

Ini diinstal gitdi ~/binmana saya kemudian harus menambahkan ke awal PATHvariabel saya .

Tmarty
sumber