Команда git не может быть найдена и не может найти ssh-agent

81

Я был сегодня на GitHub и понял, что отстаю от обновлений из репозитория. Я пытался получить обновления, но с самого начала не удалось. Когда я запустил Git Shell (из GitHub для Windows), я получил два сообщения:

Предупреждение: команда git не найдена. Создайте псевдоним или добавьте его в свой PATH.

Предупреждение: не удалось найти ssh-agent.

Когда я попытался ввести «$ git fetch origin», я получил следующее сообщение об ошибке:

Термин «$» не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если путь был включен, убедитесь, что путь правильный, и повторите попытку.

Я также пробовал опустить знак $, но это ничего не изменило.

Понятия не имею, что происходит, последний раз, когда я использовал Shell (начало этого месяца), он этого не делал. Я попытался добавить путь к git.exe в переменную среды PATH, но это не сработало - ничего не изменилось. Я не перезагружал компьютер после этого, в этом проблема? Я также никогда не настраивал Git для использования SSH.

Сибоди
источник
Кажется, что у вас не установлен git или он не на вашем пути. Вы открыли правильную оболочку? Посмотрите свой путь и убедитесь, что каталог git.exe присутствует в списке.
Уильям Сейти Мизута
Под "путем" вы имеете в виду переменную среды PATH? Я добавил туда путь к git.exe, без изменений. Я установил Github для Windows, у меня сложилось впечатление, что он установил все, что мне нужно?
Seabody
Да путь - это ПУТЬ. Это действительно странно. Попробуйте запустить команду git --version.
Уильям Сейти Мизута
Опять же, это не сработало. У меня такая же ошибка.
Seabody
Попробуйте переустановить git или используйте другую программу git. Я использовал msysgit для окон, и он мне понравился.
Уильям Сеити Мизута

Ответы:

158

Похоже, вы недавно обновили приложение GitHub, и теперь Git Shell не работает.

Укороченная версия

Починить это

  • закрыть Git Shell
  • откройте GitHub и дайте ему выполнить пост-установку.
  • Откройте Git Shell снова, и все должно быть исправлено.

Длинная версия

Это случилось со мной, и просто чтобы убедиться, что я следую за тобой, ты только что сделал это

  • Откройте Git Shell
  • Вам будет предложено обновить GitHub
  • После обновления открывается Git Shell

Теперь выдает ошибку

Команда git не найдена. Создайте псевдоним или добавьте его в свой PATH.

Предупреждение: не удалось найти ssh-agent.

Если это так, сделайте это

  • Закройте оболочку Git
  • Теперь откройте приложение GitHub (не Git Shell ).

Это скажет что-то вроде (не уверен в точной версии)

GitHub извлекает git ..

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

Кирк
источник
Спасибо, красивое и простое решение!
laike9m 06
1
Только что случилось со мной 05.12.2013, именно так, как описано в OP, так что, видимо, этот глюк до сих пор не исправлен. Некоторые из нас в основном используют командную оболочку, и поэтому может потребоваться время, чтобы это обнаружить. Ваша процедура устранила проблему.
Карл
Не могли бы вы объяснить, как я мог обновить GIT? Собственно не пользовался - обновляется само? Жутко ...
Томаш Зато - Reinstate Monica
Потрясающе. Просто открыл GitHub и получил сообщение, что GitHub извлекает git. Позже откройте оболочку git, проблема решена.
manu
1
Просто нужно подтвердить, что это все еще было жизнеспособным исправлением на 17 августа 2016 года. Проблема была в версии posh git для PowerShell.
Polyducks
10

Если вы не хотите возиться с переустановкой GitHub или GitShell, или если вы даже не используете эту службу, вы можете исправить это самостоятельно.

В основном вам просто нужно добавить путь к каталогу git.exe в переменную среды PATH в Windows.

Для меня мне пришлось добавить путь «C: \ Program Files (x86) \ Git \ bin». Или, конечно, вы могли установить Git в другой каталог, поэтому вам нужно будет узнать, где вы его поместили.

Инструкции по выполнению всего этого можно найти здесь: http://thepracticalsysadmin.com/setting-up-git-in-windows/

Колин Груша
источник
7

Система> Расширенные настройки системы> Вкладка Дополнительно> Переменные среды (внизу).

В системных переменных (нижняя половина поля прокрутите до Pathраздела и отредактируйте. Предполагая, что ваша установка git была местоположением по умолчанию, добавьте ниже в конец текущего пути:

;C:\Program Files (x86)\Git\cmd;

Готово.

Аарон Гибсон
источник
6

Я решил свою проблему, открыв приложение Github destop, щелкнув настройки -> параметры. Я выбрал оболочку по умолчанию PowerShell (она внезапно перестала работать). Я выбрал Git Bash, сохранил ее, затем открыл настройки-> параметры и снова выбрал PowerShell. Затем я снова открыл GitShell и да! он снова начал работать

mca
источник
Это сработало, но только после того, как я сначала сделал «настройки» -> «открыть в оболочке git». И только тогда я заставил это работать с помощью ярлыка «git shell» в меню «Пуск».
Лучано
5

TL; DR;

Добавьте пользовательскую %path%переменную с%localappdata%\GitHub\PORTAB~1\bin

Длинная версия:

Я не мог получить ответ Кирка для работы с самим исправлением Github.

Файл, который вы ищете, - это git.exe, а графический интерфейс Windows GitHub устанавливается в локальный каталог приложения пользователя, что затрудняет его поиск, например, мой был C:\Users\andy_000\AppData\Local\GitHub\PortableGit_ed44d00daa128db527396557813e7b68709ed0e2\bin\git.exe

Этот каталог должен находиться в пути к вашей среде Windows, git.exeчтобы его можно было найти, просто набравgit в командном окне.

Лучшее решение, которое я нашел, - открыть системные переменные среды (System -> Advanced -> Environment Variables), а затем просто добавить новую пользовательскую переменную (верхнее поле, а не нижнее, это системные переменные) Pathи установить ее значение. к%localappdata%\GitHub\PORTAB~1\bin .

Это будет означать, что система %path% переменная имеет полный путь профиля пользователя к каталогу bin github, как в примере.

Попытки добавления %appdata%и %userprofile%ссылки непосредственно на систему %path%не работают, поскольку эти переменные недоступны, когда системные переменные установлены, поэтому приведенное выше решение устанавливает пользовательскую %path%переменную, которая разрешает вызовы и %localappdata%т. Д., И которая автоматически добавляется в систему %path%, давая желаемый эффект.

Энди Бертон
источник
4

Следуйте простым шагам:

  1. Откройте его, gitshellобновите, а затем закройте.
  2. Откройте githubне тотgitshell он будет извлекать файлы автоматически (значит также обновить).
  3. Снова открываю gitshell.

вы увидите, что ошибка закончится. Надеюсь, это тебе тоже поможет.

НоманДжавед
источник
2

У меня была эта проблема в Windows7 с установленной последней программой github. Я даже отключил все функции своего антивируса :)

Мое решение заключалось в том, чтобы открыть программу администратораpowershell ise (из меню) и выполнить эту команду:

Set-ExecutionPolicy Unrestricted

Вы получите диалог с вопросом, я нажал «Да». Затем я закрыл все окна и без проблем перезапустил оболочку github.

мертвая рыба
источник
0

Мое простое решение (для настольных пользователей GitHub ):

  1. Создайте командный файл git.bat:

@echo off

% LocalAppData% \ GitHub \ Portab ~ 1 \ cmd \ git.exe% *

  1. Переместите в C:\Windows\папку ..

Это оно!! Готово !!

Примечание: вы также можете использовать git.batвместо git.exeпрямого использования . Это будет полезно для программного обеспечения, которое требует, чтобы вы явно указали исполняемый файл git (например, Android Studio )

Гокуль NC
источник
-1

Другой вариант - изменить оболочку по умолчанию.

Перейдите в Инструменты -> Параметры и измените оболочку по умолчанию с «PowerShell» на «Git Bash» или что-то еще.

Nicedawg
источник
1
Это действительно работает. Что касается меня, я перешел с PowerShell на Git Bash, а затем снова изменил его на PowerShell.
бездельник