Я установил последнюю версию git (1.8.3), используя homebrew, но когда я набираю
git --version
в моем терминале он печатает:
git version 1.7.10.2 (Apple Git-33)
Что я должен сделать, чтобы заменить старую версию git новой?
Я установил последнюю версию git (1.8.3), используя homebrew, но когда я набираю
git --version
в моем терминале он печатает:
git version 1.7.10.2 (Apple Git-33)
Что я должен сделать, чтобы заменить старую версию git новой?
Ответы:
Спасибо всем за полезные ответы. В моем случае добавление
export PATH="/usr/local/bin:${PATH}"
в ~/.bash_profileсопровождении
source ~/.bash_profile
решил проблему для моего пользователя.
/usr/local/binвыше /usr/binв /etc/paths.
brew doctorдиагностике проблемы
/etc/paths. Определение только «экспорта» может оказаться недостаточным, если оно /usr/binимеет «приоритет» над /usr/local/bin(от brew) ...
Хорошо, я готов серьезно относиться к scm.
$ git --version
git version 1.9.5 (Apple Git-50.3)
Нет, это не то, что я хотел. Я <3 доморощенный, поэтому:
$ brew install git
Все готово?
$ git --version
git version 1.9.5 (Apple Git-50.3)
Doh! (царапает голову)
$ which git
/usr/bin/git
Ах, мерзавец Apple находится в / usr / bin, так что он превосходит доморощенный. Что делать?
(A) Просто переименуйте бинарный файл Apple
(B) Пусть доморощенный человек имеет преимущество:
[редактировать экспорт PATH, например, в ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[в частности: переместить / usr / local / bin / git: before / usr / bin:]
... и / или (например, чтобы более широко позволить доморощенным вещам перевесить установку системы и иметь приоритет для всех оболочек и пользователей), также отредактируйте файл / etc / paths, [двигающийся / usr / local / bin выше / usr / bin ]
Но предполагая только самый простой / наименее инвазивный подход:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Это сработало?
$ which git
/usr/local/bin/git
Пока все хорошо, теперь момент истины:
$ git --version
git version 2.2.1
w00t! :) Пора читать http://git-scm.com ! :)
which gitуказанием на /usr/local/bin/gitэто не сработало для меня. Чтобы решить эту проблему, мне пришлось удалить приложение GitHub Mac.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Все трюки, упомянутые здесь в нескольких ответах, больше не нужны в macOS Sierra & Mojave с последней версией Homebrew. Забудьте export PATH="..."и модификации ~/.bash_profile.
Вы просто делаете
brew install git
и вы сделали.
Для подтверждения откройте новое (!) Окно терминала и введите
git --version
brew link --overwrite gitработал для меня
После того, как вы установили последнюю версию git через brew ( brew install git), запустите эту однострочную версию (как предложено brew doctor), если ее там еще нет:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Затем выйдите из терминала и снова откройте его (перезапустите сеанс bash). Вы должны сделать это, даже если ваш PATH уже был корректным, поскольку ZSH и Bash кэшируют содержимое PATH (см. Документацию по встроенной команде hash).
Это должно исправить вещи очень быстро.
Когда вы печатаете
git --version
в Terminal.app или в консоли, ваш комментарий к другому вопросу указал, что версией, которую он возвращает, является git в / usr / bin / git
Если вы установили Xcode 4.5 (и новее), введите
xcrun git --version
в Terminal.app или в консоли его версия - это git в комплекте приложений Xcode.
Если вы используете Homebrew для установки и обновления git, самое простое решение -
переименуйте исходное местоположение, переименовав его с помощью mv. Например
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
создайте программную ссылку, используя 'ln -s', на бинарный файл git, который вы установили с помощью Homebrew.
Обратите внимание, что MattDMo имеет лучшее решение в комментариях.
/usr/bin, поскольку вполне возможно, что другие программы, о которых вы даже не знаете, зависят от капризов, связанных с конкретной версией. Самое простое решение, не двигая ничего, чтобы добавить /usr/local/binк вашему $PATHпеременному окружению перед тем /usr/bin- IIRC, доморощенный устанавливается на/usr/local/bin
Вы должны переименовать оригинальный git в apple, /usr/bin/например, в git-org, так /usr/binкак обычно он находится /usr/local/binв вашем каталоге пути, где находится brew.
Так:
cd /usr/bin
sudo mv git git-org
и не забудьте связать варево мерзавца
brew link git
Это предполагает, что /usr/local/binнаходится в вашей $PATHпеременной среды. Если проблема не устранена, попробуйте запустить
brew doctor
и исправить проблемы, упомянутые там.
/usr/local/bin(каталог установки homebrew, IIRC) $PATHвперед, /usr/binвместо того, чтобы возиться с переименованием и резервным копированием и т. Д.
Установите мерзавца с завариванием, запустите это.
brew link --force git
Закройте и снова откройте терминал для запуска which git.
brew link --overwrite gitсработало
Если вы устанавливаете git напрямую с git-scm.com и хотите использовать последнюю загруженную версию git вместо яблочной (старой) версии git.
/usr/local/bin/gitgit --version, если он вернет Apple старую версию git, перейдите нижеcd ~ (смените каталог на ваш домашний каталог)vi .bashrci(чтобы вставить текст в редактор vi)export PATH......., нажмите ввод в верхней части экспорта и введите следующее: export PATH=/usr/local/:$PATH(Будьте предельно осторожны с PATHпеременной, не путайте ее, иначе это вызовет проблемы для вашей ОС) (надеюсь, новый git должен быть установлен в /usr/local/git):wq(чтобы сохранить .bashrcфайл)git --version(вы должны увидеть новую версию)Это зависит от того, откуда взялся ваш мерзавец. Например, XCode предлагает версию, которая, возможно, стоит на вашем пути.
Может быть, набрав
which git
покажет, где старый.
/usr/bin/git...
Чтобы обновить что-либо с помощью Homebrew на OSX, которое включает в себя компиляцию с использованием gcc, убедитесь, что у вас есть обновленные инструменты командной строки из XCode - да, я знаю, это ужасно, когда приходится скрывать общесистемный инструмент в настройках приложения.
brew doctorи устраните все другие препятствияbrew upgradeдля обновления всех пакетов одновременно