Как обновить Git до последней версии для Windows? Все еще показывает старую версию

378

Я только что обновился до Git 1.8.0.1 для Windows, с моей предыдущей версии 1.7.9.mysysgit.0. Я скачал новую версию с сайта Git и установил ее через обычный установщик Git EXE.

Тем не менее, когда я запускаю окно терминала, оно все еще показывает, что я использую git версии 1.7.9.mysysgit.0. Когда я набираю «git --version» из моей подсказки, то же самое.

Я нашел эту статью по аналогичной проблеме с Git на Mac OSX , что наводит меня на мысль, что это как-то связано с ошибочным PATH, но я все еще довольно новичок во всем этом (5 месяцев самоучка), поэтому я Я в недоумении, как перевести это на Windows.

Эта проблема возникла, когда я начал новый проект Rails и попытался отправить его в Git. Я добавил пульт:

git remote add origin git@github.com:brianscottk/blog.git

тогда:

git push -u origin master

Я получил следующее сообщение об ошибке:

Неустранимый: https://github.com ссылки не найдены: вы запустили git update-server-info на сервере?

Попытка погуглить эту ошибку привела меня к этой статье , которая подтолкнула меня к обновлению, и вот я здесь.

BrianScottK
источник

Ответы:

724

Начиная с Git 2.16.1 (2) вы можете использовать

C:\> git update-git-for-windows

В версиях между 2.14.2 и 2.16.1 команда была

C:\> git update

(Позже он был переименован, чтобы избежать путаницы с обновлением локального хранилища, например, как svn updateэто делается.)

Эта команда не существует в Git 2.13 и ранее.

Если это ошибка с «is git command», то либо у вас фактически нет Git для Windows, либо ваша версия очень старая.

В этом случае просто скачайте последнюю версию установщика с https://git-scm.com/download (проверьте, хотите ли вы 32- или 64-разрядную версию) и запустите ее для обновления.

Если у вас уже установлена ​​последняя версия, она ничего не делает, и в этом случае вы можете вручную запустить установщик для переустановки.

C:\> git update-git-for-windows
Git for Windows 2.17.0.windows.1 (64bit)
Up to date
Голландская слава
источник
60
Я не знаю, почему это так опровергнуто - это правильный ответ для того, как обновить Git в Windows.
OrangeDog
3
> Git обновление в версии 2.14 не работает для меня (на Windows). Я использовал установщик, скачанный с сайта, и все прошло гладко (сейчас на 2.17.1)
gianni
2
Работает как шарм, спасибо. Определенно не должно быть понижено.
Ренна
3
Я думаю, что это отрицательно, потому что версия, в которой работают эти команды, более конкретна, чем изначально указанная. git updateне работает до 2.14.2, что означает, что для таких людей, как @defines выше, этот ответ выглядит неправильно.
rickibarnes
3
Я думаю, что мне нужно удалить мой Git для Windows и переустановить последнюю версию, потому что я использую версию git version 2.14.1.windows.1 .
KaiserKatze
90

Во-первых, проверьте вашу версию git с помощью этой команды

git version

Тогда следуйте за случаем согласно вашей версии git

Три случая:

  1. Если ваша версия git 2.14.1 или более ранняя:

    Удалите git, загрузите последний git и установите его снова.

  2. И версии между 2.14.2 и 2.16.1:

    Используйте команду git update

  3. Если версия равна или больше, чем Git 2.16.1 (2):

    Используйте команду git update-git-for-windows

Арслан Ахмад
источник
4
Я сходил с ума от git updateошибки в версии 2.14.1. Таким образом, этот ответ является правильным ответом, так как он обращается к этой несуществующей команде до 2.14.2.
Эрик Петручелли
Удаление более старой версии не требуется. Вы можете установить новую версию на более старую версию. У меня это сработало
дней
34

Обновление (26SEP2016): больше не нужно удалять предыдущую версию git, чтобы обновить ее до последней; пакет установки, найденный на сайте загрузки git win, позаботится обо всем. Просто следуйте инструкциям. Для получения дополнительной информации следуйте инструкциям при установке и обновлении git .

Дэвид
источник
9
Дело не в том, что установщик «заботится обо всем», он просто перезаписывает предыдущую установку. Так что, если есть пользовательские настройки, они будут перезаписаны!
Селдор
4
Есть ли способ обновить и сохранить мои существующие настройки? Когда я запускаю установщик Windows, чтобы выполнить обновление, он задает мне все те же сложные вопросы, которые он задавал при первой установке (об окончаниях строк, настройках редактора и т. д.). Что я действительно хочу, так это просто получить новую версию и сохранить все мои существующие настройки
Энди
@ Энди, я не уверен, охватит ли он все настройки, но перед обновлением я бы использовал команду git-config, сохранил ваши значения в скрипте, обновил с настройками по умолчанию, а затем использовал скрипт для настройки ваших настроек. Ссылка: git-scm.com/docs/git-config
Дэвид,
3
Программа установки не перезаписывает никакие параметры, и все параметры, которые вы можете выбрать при установке по умолчанию, соответствуют их текущим значениям.
OrangeDog
17

Используя команду «где git», узнайте, как в командной строке выбирается версия. Как только у вас есть путь, вы можете пойти дальше и полностью удалить / удалить предыдущую версию. Затем, если вы установите и убедитесь, что новое установленное местоположение находится в пути, оно должно работать нормально.

Использование таких инструментов, как cmder , сделает вашу жизнь намного проще. Вам больше не нужно использовать двойную загрузку или Cygwin, так как поддержка git в windows уже на высшем уровне. (Git для Windows устанавливает msysgit, который включает в себя все необходимые инструменты Unix от MinGW. MinGW был там некоторое время и довольно стабилен. Если вы хотите, вы можете установить полную версию msysgit, а не Git для Windows . Msysgit доступен на Git для Страница окон внизу.)

Раджан Поннаппан
источник
2
Просто понял, что я ответил на старый вопрос. Но может быть полезно для других, заходящих на эту страницу ...
Раджан Поннаппан
2
ссылка на cmder не работает :(
FirefoxMetzger,
Похоже, что ссылка cmder снова работает
Rajan Ponnappan
13

Просто беги:

$ git update-git-for-windows
moriarty007
источник
12

Git Bash

Обратите внимание: если вы вместо этого хотите узнать, какая у Git Bashвас версия работает, или хотите узнать, нужно ли вам обновляться Git Bash, она является частью Git for Windows.

Итак, ваша версия Git Bash:

git --version

git версия 2.23.0.windows.1

Обратите внимание, что это технически отличается от Bash. На моей же машине, когда я бегу:

echo $BASH_VERSION

4.4.23 (1) -release

Установщик Git для Windows

Чтобы обновить последнюю версию Git и Git Bash, вы можете загрузить и установить последнюю версию git для Windows . Согласно FAQ , настройки / настройки должны быть сохранены, если они были установлены в соответствующих папках конфигурации.

Примечание. Их установщик действительно продуман для правильных действий (за исключением того, что он говорит, что делает все правильно). Если вы делаете обновление, то каждый экран установщика предварительно помечается настройками из вашей текущей (скоро будет предыдущей) установки.

Он не показывает общие настройки по умолчанию. Вам не нужно искать какие-либо из них или бояться нарушить тщательно отточенные настройки. Просто оставьте все как есть, чтобы сохранить прежний выбор.

На самом деле, они сделали это еще проще (если бы было ясно, что они так и сделали).
Внизу есть флажок [] Show only new settings(точную формулировку я не помню). Поскольку на первом экране ничего не меняется, когда вы отмечаете поле, не совсем очевидно, для чего оно. Если вы отметите флажок, все ваши текущие настройки будут сохранены, и будут пропущены показы этих последующих экранов настроек. Будут показаны только экраны с недавно введенными настройками.

git update-git-for-windows

В качестве альтернативы, как уже отмечали другие, вы также можете обновить Git Bash и Git (по определению, оба всегда обновляются одновременно) из командной строки Git Bash:

git update-git-for-windows  

Если вы git updateпечатаете, git любезно напоминает вам, что команда была обновлена ​​до git update-git-for-windows:

Предупреждение! git updateустарела;
Пожалуйста, используйте git update-git-for-windowsвместо этого.
Git для Windows , 2.26.0.windows.1 (64bit)
до настоящего времени

SherylHohman
источник
6

Основываясь на последнем ответе @Simon, я сначала удалил новую версию Git. Затем я заново установил новую версию Git в том же каталоге, что и старой версии , C:/RailsInstaller/Gitвместо каталога по умолчанию C:/Git.

Теперь мое окно терминала rails показывает, что я использую новую версию git 1.8.0.

BrianScottK
источник
2

чтобы проверить вашу PATHпеременную, действуйте следующим образом:

  1. На рабочем столе щелкните правой кнопкой мыши Мой компьютер и выберите Свойства.
  2. Нажмите ссылку «Дополнительные параметры системы» в левом столбце.
  3. В окне «Свойства системы» нажмите кнопку «Переменные среды».

Оказавшись там, прокрутите, чтобы получить Pathстроку, вы получите длинную строку путей (например C:\windows\bin;C:\program files\git, и т. Д.)

Найдите строку или строки, на которые gitесть ссылки. Затем убедитесь, что этот путь указывает на вашу установку Git 1.8.x. Если нет, удалите его и добавьте реальный путь к последней версии Git. В конце у вас должен быть только один путь в строке, ссылающейся на Git.

Надеюсь, это поможет!

Саймон Будриас
источник
Спасибо за помощь, @Simon, но у меня все еще есть проблемы. Мне удалось найти Pathстроку в моих переменных среды. Вы были правы в том, что он ссылался на то, что кажется более старой версией Git. (Очевидно, у меня есть 2 версии. Мой оригинал, установленный через RailsInstaller, расположенный в каталоге RailsInstaller, и новый, который я только что установил в своем собственном каталоге.) Моя Pathстрока прочитана C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\binи на основании вашего ответа я изменил ее C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, но мой терминал все еще показывает v 1.7.9 ...
BrianScottK
Открывали ли вы новую командную строку после изменения, чтобы проверить версию? Кроме того, у C:\Gitвас должен быть git Bash, откройте его и проверьте, что у вас есть правильная версия в этом bash, это подтвердит, что в этой папке действительно установлен 1.8. Если ничего не происходит, попробуйте удалить старую версию и переустановить новую.
Саймон Будриас
Спасибо, Симон! Это не сработало, но привело меня к правильному ответу, который я изложил ниже. Ценю помощь!
BrianScottK
1
Более быстрый способ получить список путей состоит в том, чтобы открыть Powershell и ввести следующее:$env:path -split ';'
Дейв Секстон
Вы можете использовать, where gitчтобы увидеть, где установлен Git. Убедитесь, что путь в вашем PATH. Мне нравится метод @DaveSexton выше для просмотра переменной PATH. Есть ли способ получить подобный список из окна Git Bash, а не из Powershell?
Шерил Хохман
2

если вы просто напечатаете

$ git update

on bash git сообщит вам, что команда «update» больше не работает, и отобразит правильную команду «update-git-for-windows»

но все равно обновление будет продолжено, вам просто нужно нажать «у»

если у вас возникли проблемы, запустите bashh от имени администратора или добавьте путь «git.exe» к «разрешенным приложениям через контролируемый доступ к папкам».

ailia
источник
2

Если вы посмотрите на последнее обновление на сайте Git в «git via git», вы увидите возможность обновить старую версию.

Вот команда, которую git имеет на своем сайте:

git clone https://github.com/git/git

Это работало для моей версии git, которая была 2.13.0.windows.1.

Nate
источник
Ладно, ложная тревога. Обновление отображается как «выполнено», однако версия отображается как то же самое, поэтому я удалил и загрузил самую новую версию Git.
Nate
1

Я не думаю, что ваша проблема связана с глобальным PATH Windows, как remoteэто характерно для репо.

Я рекомендую вам использовать Git под Cygwin. Git может работать под командной строкой Windows, но могут быть некоторые странные проблемы, которые трудно понять. Под Cygwin это больше природы и меньше ошибок.

Все, что вам нужно, это набрать bashв Window CMD, а затем начать использовать инструменты и команды Unix. Вы можете использовать ярлык для загрузки bash, это так же просто, как использовать обычную Windows CMD.

То же самое верно для Rails и Ruby. Я использовал RailsInstaller и раньше, но обнаружил, что использование Cygwin для установки Rails более стабильно.

Наконец, я предлагаю установить двойную загрузку Ubuntu, если у вас есть время (около месяца, чтобы познакомиться). В конечном счете, Windows не очень дружелюбна для всех инструментов Unix. Вы найдете, что вся боль прекратилась.

Билли Чан
источник
Я слышал, что другие люди предлагают это, но сейчас я чувствую, что я слишком новичок, чтобы заметить разницу в Cygwin против Windows CMD.
BrianScottK
1
Cygwin будет имитировать среду Unix. Все команды будут выглядеть как «родные», а переменные среды для unix будут в одном месте - в папке cygwin. Если вы не готовы к Linux, используйте хотя бы cgywin.
Билли Чан
2
Cygwin отстой, это очень раздутый и есть множество удивительных и испорченных поведений. Если вы хотите использовать Git в Windows, то вам обязательно следует использовать Git для Windows - он даже предоставляет собственный Windows bash и некоторые * NIX инструменты. Если вам действительно нужна полноценная среда Linux в Windows, перейдите в Microsoft Store и установите одну из них (Ubuntu, SUSE, Debian, Kali).
OrangeDog