Dari mana / usr / bin / git berasal?

24

Saya punya masalah kecil. Pada titik tertentu saya menggunakan git tapi saya tidak ingat apakah itu diinstal secara default pada Lion.

Ini adalah versi dan path dari git:

$ git --version
git version 1.7.5.4
$ which git
/usr/bin/git

Saya juga memiliki git yang lebih baru di / usr / local / git

Saya ingin menggunakan versi yang lebih baru tetapi saya tidak tahu apakah dengan menghapus yang lama (/ usr / bin telah didahulukan dalam variabel path) Saya akan memecahkan sesuatu.

Apa cara yang tepat untuk menyelesaikan konflik ini?

kromestan
sumber
9
git diinstal oleh Xcode. Saya tidak bisa memberi tahu Anda apakah itu akan merusak apa pun. Di sepatumu, aku akan mengganti nama kalau-kalau aku harus mengembalikannya nanti.
Steven Fisher
ah ok..Yah apa yang akan saya lakukan hanyalah mengganti nama installit baru atau git2 dan menggunakannya seperti itu.
cromestant
Maksud saya ganti nama yang lama, bukan menghapusnya. Dengan begitu jika Anda memiliki masalah, Anda dapat mengganti namanya kembali.
Steven Fisher
1
@ SevenFisher Anda harus menjawabnya. :)
Ian C.
BAIK. Saya berharap seseorang akan memiliki jawaban nyata yang tidak memiliki "Saya tidak tahu!" di dalamnya. :)
Steven Fisher

Jawaban:

26

git diinstal oleh Xcode. Saya ragu Anda akan memiliki masalah jika Anda menggantinya, tapi saya tidak bisa memberikan jawaban pasti untuk itu ...

  1. Apa yang akan saya lakukan adalah mengganti nama yang lama /usr/bin/gitmenjadi git_old, kemudian mengandalkan jalur Anda untuk memilih yang baru.
  2. Jika itu tidak berhasil , pindahkan yang baru ke /usr/bin. Saya ragu Xcode pilih-pilih tentang versi git yang digunakannya.
  3. Jika itu masih tidak berhasil , git_oldkembali ke /usr/bin/gitdan gunakan jalur langsung, ganti nama, atau alias untuk yang baru.

Saya ragu Anda harus melewati # 1 di atas. Itu sudah cukup.

Sunting: Saya membaca posting asli Anda mundur. Hal pertama yang harus Anda lakukan adalah memastikan path Anda menyertakan direktori git baru SEBELUM direktori yang berisi git lama.

Steven Fisher
sumber
3 alternatif: mengonfirmasi bahwa yang pertama bekerja dengan baik.
Marius Butuc
9

Anda tidak perlu meretas versi lain kecuali Anda benar-benar sempit untuk ruang. Edit .bash_profile Anda dan pastikan bahwa / usr / local / bin muncul di depan / usr / bin dalam variabel PATH Anda

Secara pribadi saya lebih suka mengadopsi skema dengan jalur alat yang ditentukan dan jalur yang dibangun dari ini misalnya

GIT_HOME=/usr/local

PATH=${GIT_HOME}/bin:${PATH};export PATH
MANPATH=${GIT_HOME}/share/man:${MANPATH};export MANPATH

Ini berarti bahwa apa pun yang mencari alat menggunakan PATH akan menemukan versi git Anda, dan apa pun yang "benar-benar harus" memiliki versi / usr / bin kemungkinan besar akan memiliki jalur yang terhubung dengan kabel dan masih dapat menemukannya

Kevin
sumber
6

Saya memiliki masalah yang sama: Git versi lama yang merupakan versi Xcode. Saya sudah mencoba menginstal versi baru Git dari http://git-scm.com/ dan memperbarui bash_profiledengan

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

Kemudian muat ulang bash Anda dan coba git --version

Bekerja untuk saya :)

davidmatas
sumber
1

Di sistem saya (10.7.3, Xcode 4.3.2) Xcode gittidak diinstal di /usr/bin/git. Semua Xcode 4 (seperti semua aplikasi dari App Store, saya pikir) ada dalam bundel .app. Secara khusus, git-nya ada di /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Saya menggunakan git (via Xcode) sepanjang waktu, dan saya tidak punya /usr/bin/gitdi sini sama sekali. Jadi itu bukan bagian dari instalasi Lion default, baik, atau setidaknya, tidak di lokasi itu.

FWIW, git di bundel Xcode.app memiliki --versionyang berbunyi:

git versi 1.7.7.5 (Apple Git-26)

jadi saya yakin Anda /usr/bin/gitadalah instalasi Anda sendiri, dan memperbarui tidak ada salahnya.

Atau, Anda dapat menginstal Xcode (gratis!), Dan memasukkan /Applications/Xcode.app/Contents/Developer/usr/bin/$ PATH Anda, tetapi itu berlebihan jika Anda hanya ingin git.

Ken
sumber
Saya juga punya xcode, jadi saya punya tiga versi git yang saat ini terinstal ... temukan bagus!
cromestant
1
jika Anda tidak memilikinya /usr/bin/git, Anda mungkin tidak menginstal Xcode "Command Line Tools". lihat stackoverflow.com/q/9329243/152142
Justin M. Keyes
1

Ken benar bahwa git hanya tersedia melalui jalur Xcode.app. Ketika saya menginstal Mountain Lion (10.8), tiba-tiba saya memiliki git di / usr / bin / git, jadi itu adalah tambahan Mountain Lion sejauh yang saya tahu ...

Meskipun ... Saya telah menginstal beberapa hal sejak itu dan tidak sepenuhnya yakin itu bukan ketergantungan untuk hal lain.

Tom
sumber
0

Saya benar-benar tidak tahu, saya pikir saya belum menginstal git atau XCode untuk momment tetapi setelah menginstal homebrew dan menjalankannya brew doctormengatakan:

$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

Jadi kenapa? Saya baru saja menginstal Command Line Tools untuk XCode (mountain Lion) dan saya pikir yang ini yang menginstalnya.

tyoc213
sumber