Звідки взявся / usr / bin / git?


24

У мене невелика проблема. У якийсь момент я використовував git, але не пам'ятаю, чи встановлено він за замовчуванням на Lion.

Ось версія та шлях git:

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

У мене також є новіший git в / usr / local / git

Я хотів би скористатися новою версією, але не знаю, чи видаляючи стару (/ usr / bin має перевагу в змінній шляху) я щось зламаю.

Який правильний спосіб вирішити цей конфлікт?


9
git встановлюється Xcode. Я не можу сказати вам, якщо це щось зламає. У вашому взутті я перейменував би його на випадок, якщо мені потрібно буде його покласти пізніше.
Стівен Фішер

ну добре .. Все, що я зроблю, це просто перейменувати новий instat o git2 або щось таке, і використовувати його так.
кроместант

Я мав на увазі перейменувати старий, а не видаляти його. Таким чином, якщо у вас є проблеми, ви можете просто перейменувати його назад.
Стівен Фішер

1
@StevenFisher ви повинні зробити цю відповідь. :)
Ян Ч.

ДОБРЕ. Я сподівався, що хтось матиме справжню відповідь, що не було "Я не знаю!" в цьому. :)
Стівен Фішер

Відповіді:


26

git встановлюється Xcode. Сумніваюся, у вас виникнуть проблеми, якщо ви заміните її, але я не можу дати вам остаточної відповіді на це ...

  1. Те , що я хотів би зробити це перейменувати старий , /usr/bin/gitщоб git_old, потім покладатися на своєму шляху , щоб вибрати нову.
  2. Якщо це не працює , перемістіть нове на /usr/bin. Я сумніваюся, Xcode прискіпливий до того, яку версію git він використовує.
  3. Якщо це все ще не працює , git_oldповерніться до /usr/bin/gitта використовуйте прямий шлях, перейменуйте або псевдонім для нового.

Я сумніваюся, що вам доведеться пройти повз №1 вище. Цього має бути достатньо.

Редагувати: я читав вашу оригінальну публікацію назад. Перше, що вам потрібно зробити, це переконатися, що ваш шлях включає новий каталог git ДО ПЕРЕД каталогу, який містить старий git.


3 альтернативи: підтвердження того, що перша спрацювала добре.
Маріус Бутук

9

Вам не потрібно виламувати іншу версію, якщо ви дійсно не відчуваєте місця. Відредагуйте .bash_profile і переконайтеся, що / usr / local / bin у вашій змінній PATH виникає перед / usr / bin

Особисто я вважаю за краще прийняти схему з визначеними шляхами інструментів та побудованою з них, наприклад

GIT_HOME=/usr/local

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

Це означає, що все, що шукає інструменти за допомогою PATH, знайде вашу версію git, і все, що "дійсно повинно" мати версію / usr / bin, швидше за все, цей шлях буде провідним і все ще може знайти його


6

У мене була така ж проблема: стара версія Git, що була версією Xcode. Я спробував встановити нову версію Git від http://git-scm.com/ і оновлений bash_profileз

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

Потім перезавантажте баш і спробуйте git --version

Для мене працювали :)


1

У моїй системі (10.7.3, Xcode 4.3.2) в коді gitне встановлено /usr/bin/git. Весь Xcode 4 (як і всі додатки з App Store, я думаю) знаходиться у пакеті .app. Зокрема, його суть є /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Я весь час використовую git (через Xcode), і мене /usr/bin/gitтут взагалі немає. Тож це не є частиною встановлення за замовчуванням Lion, або, принаймні, не в цьому місці.

FWIW, git у пакеті Xcode.app має таке, --versionщо:

версія git 1.7.7.5 (Apple Git-26)

тож я думаю /usr/bin/git, що ваша власна установка, і оновлення не може нічого зашкодити.

Крім того, ви можете встановити Xcode (це безкоштовно!) Та ввести /Applications/Xcode.app/Contents/Developer/usr/bin/свій $ PATH, але це зайвий рівень, якщо ви хочете лише git.


У мене також є xcode, тому в мене зараз встановлені три версії git ... приємна знахідка!
кроместант

1
якщо у вас немає /usr/bin/git, ви, ймовірно, не встановили Xcode "Інструменти командного рядка". дивіться stackoverflow.com/q/9329243/152142
Джастін М. Кеїс

1

Кен прав у тому, що git був доступний лише через шлях Xcode.app. Коли я встановив Mountain Lion (10.8), раптом у мене з’явився git в / usr / bin / git, тож це було доповненням Mountain Lion, наскільки я можу сказати ...

Хоча ... з того часу я встановив досить багато речей і не зовсім впевнений, що це не залежність від чогось іншого.


0

Я дійсно не знаю, я думаю, що я не встановив git або XCode для моменту, але після встановлення домашнього перегляду та запуску brew doctorвін говорить:

$ 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

Так чому? Я щойно встановив Інструменти командного рядка для XCode (гірський Лев), і я думаю, що це той, хто його встановив.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.