Откуда появился / usr / bin / git?


24

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

Вот версия и путь к git:

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

У меня также есть более новый мерзавец в / usr / local / git

Я хотел бы использовать более новую версию, но я не знаю, если удалив старую версию (/ usr / bin имеет приоритет в переменной пути), я что-нибудь сломаю.

Как правильно решить этот конфликт?


9
git устанавливается Xcode. Я не могу сказать тебе, если это что-нибудь сломает. На твоем месте, я бы переименовал его на случай, если мне понадобится вернуть его позже.
Стивен Фишер

ну ладно ... Что я сделаю, так это просто переименую новую установку в 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 находится перед / usr / bin в вашей переменной PATH

Лично я предпочитаю принять схему с определенными путями инструмента и путем, построенным из них, например

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

Затем перезагрузите ваш bash и попробуйте git --version

Работал для меня :)


1

В моей системе (10.7.3, Xcode 4.3.2) Xcode 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 для momment, но после установки homebrew и запуска 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.