Nie można znaleźć polecenia git i nie można znaleźć ssh-agent

81

Byłem dziś na GitHubie i zdałem sobie sprawę, że mam opóźnienia z aktualizacjami z repozytorium. Próbowałem pobrać aktualizacje, ale od początku się to nie udało. Otrzymałem dwie wiadomości, gdy uruchomiłem Git Shell (z GitHub dla Windows):

Ostrzeżenie: nie można znaleźć polecenia git. Utwórz alias lub dodaj go do swojej PATH.

Ostrzeżenie: nie można znaleźć ssh-agent.

Kiedy próbowałem wpisać „źródło pobierania $ git”, otrzymałem następujący komunikat o błędzie:

Termin „$” nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu lub programu operacyjnego. Sprawdź pisownię nazwy lub, jeśli ścieżka została dołączona, sprawdź, czy jest ona poprawna i spróbuj ponownie.

Próbowałem też pominąć znak $, ale to niczego nie zmieniło.

Nie mam pojęcia, co się dzieje, kiedy ostatnio używałem Shell (początek tego miesiąca), nie zrobił tego. Próbowałem dodać ścieżkę do git.exe do zmiennej środowiskowej PATH, ale to nie zadziałało - nic się nie zmieniło. Po wykonaniu tej czynności nie uruchomiłem ponownie komputera, czy to jest problem? Nigdy też nie konfigurowałem Gita do używania SSH.

Seabody
źródło
Wygląda na to, że nie masz zainstalowanego gita lub nie ma go na twojej drodze. Czy otworzyłeś właściwą powłokę? Sprawdź swoją ścieżkę i sprawdź, czy katalog git.exe znajduje się na liście.
William Seiti Mizuta,
Przez „ścieżkę” masz na myśli zmienną środowiskową PATH? Dodałem do niego ścieżkę do git.exe, bez zmian. Zainstalowałem Github na Windows, miałem wrażenie, że zainstalował wszystko, czego potrzebowałem?
Seabody
Tak, ścieżka to ŚCIEŻKA. To naprawdę dziwne. Spróbuj uruchomić polecenie git --version.
William Seiti Mizuta,
Znowu to nie zadziałało. Mam ten sam błąd.
Seabody
Spróbuj ponownie zainstalować git lub użyj innego programu git. Użyłem msysgit dla Windows i podobało mi się.
William Seiti Mizuta,

Odpowiedzi:

158

Wygląda na to, że niedawno zaktualizowałeś aplikację GitHub , a Git Shell jest teraz uszkodzony.

Krótka wersja

Naprawić to

  • zamknij Git Shell
  • otwórz GitHub i pozwól mu wykonać jakąś instalację po instalacji.
  • Otwórz ponownie Git Shell i powinieneś zostać naprawiony.

Długa wersja

To mi się po prostu przydarzyło i żeby mieć pewność, że za tobą podążam, właśnie to zrobiłeś

  • Otwórz Git Shell
  • Pojawi się monit o zaktualizowanie GitHub
  • Po aktualizacji otwiera się Git Shell

Teraz daje błąd

Nie można znaleźć polecenia git. Utwórz alias lub dodaj go do swojej PATH.

Ostrzeżenie: nie można znaleźć ssh-agent.

Jeśli tak jest, zrób to

  • Zamknij Git Shell
  • Teraz otwórz aplikację GitHub (nie Git Shell ).

To powie coś w stylu (nie jestem pewien dokładnej wersji)

GitHub wyodrębnia git ..

Niech to przejdzie przez proces, a po jego zakończeniu otwórz Git Shell i naprawione. Przynajmniej dla mnie pracował.

Kościół
źródło
Dziękuję, miłe i proste rozwiązanie!
laike9m
1
Po prostu mi się zdarzyło 05.12.2013, dokładnie tak, jak opisano w OP, więc podobno ta usterka nadal nie jest naprawiona. Niektórzy z nas używają głównie powłoki, więc odkrycie tego może zająć trochę czasu. Twoja procedura rozwiązała problem.
Carl,
Czy mógłbyś wyjaśnić, jak mogłem zaktualizować GIT? Właściwie to nie korzystałem - czy się aktualizuje? Creepy ...
Tomáš Zato - Przywróć Monikę
Niesamowite. Właśnie otworzyłem GitHub i otrzymałem wiadomość, że GitHub wyodrębnia git .. Później otwórz powłokę git, problem rozwiązany.
manu
1
Potrzebuję tylko potwierdzenia, że ​​jest to nadal możliwa poprawka na 17 sierpnia 2016 r. Problem dotyczył posh git w wersji PowerShell.
Polyducks
10

Jeśli nie chcesz wygłupiać się z ponowną instalacją GitHub lub GitShell lub jeśli nawet nie używasz tej usługi, możesz to naprawić samodzielnie.

Zasadniczo wystarczy dodać ścieżkę katalogu git.exe do zmiennej środowiskowej PATH w systemie Windows.

U mnie musiałem dodać ścieżkę „C: \ Program Files (x86) \ Git \ bin”. Lub oczywiście mogłeś zainstalować Git w innym katalogu, więc będziesz musiał dowiedzieć się, gdzie go umieściłeś.

Wskazówki, jak to zrobić, można znaleźć tutaj: http://thepracticalsysadmin.com/setting-up-git-in-windows/

Colin Pear
źródło
7

System> Zaawansowane ustawienia systemu> Karta Zaawansowane> Zmienne środowiskowe (u dołu).

W zmiennych systemowych (dolna połowa pola, przewiń do Pathsekcji i edytuj. Zakładając, że instalacja git była domyślną lokalizacją, dodaj poniższy tekst na końcu bieżącej ścieżki:

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

Gotowe.

Aaron Gibson
źródło
6

Rozwiązałem swój problem, otwierając aplikację Github destop, kliknij ustawienia -> opcje Mój domyślny wybór powłoki to PowerShell (nagle przestał działać) Wybrałem Git Bash, zapisałem go, następnie otworzyłem ustawienia-> opcje i ponownie wybrałem PowerShell. Następnie ponownie otworzyłem GitShell i tak! znowu zaczął działać

mca
źródło
To zadziałało, ale dopiero po tym, jak najpierw zrobiłem „ustawienia” -> „otwórz w powłoce git”. I dopiero wtedy udało mi się to uruchomić za pomocą skrótu „git shell” w menu Start.
Luciano
5

TLDR;

Dodaj %path%zmienną użytkownika za pomocą%localappdata%\GitHub\PORTAB~1\bin

Długa wersja:

Nie mogłem uzyskać odpowiedzi Kirka, aby pracować z Githubem, który sam się naprawiał.

Plik, którego szukasz, to git.exe, a interfejs GUI systemu Windows GitHub instaluje się w lokalnym katalogu aplikacji użytkownika, co utrudnia znalezienie np. Mojego C:\Users\andy_000\AppData\Local\GitHub\PortableGit_ed44d00daa128db527396557813e7b68709ed0e2\bin\git.exe

Ten katalog musi znajdować się w ścieżce środowiska systemu Windows, git.exeaby można go było znaleźć po prostu wpisując gitw oknie poleceń.

Najlepszym rozwiązaniem, jakie znalazłem, jest otwarcie zmiennych środowiskowych systemu (System -> Zaawansowane -> Zmienne środowiskowe), a następnie dodanie nowej zmiennej użytkownika (górne pole, a nie dolne, czyli zmienne systemowe) o nazwie Pathi ustawienie jej wartości do %localappdata%\GitHub\PORTAB~1\bin.

Oznacza to, że %path%zmienna systemowa zawiera pełną ścieżkę profilu użytkownika do katalogu bin github, tak jak w przykładzie.

Próby dołączania %appdata%i %userprofile%odwołań bezpośrednio do systemu %path%nie działają, ponieważ te zmienne nie są dostępne, gdy zmienne systemowe są ustawione, więc powyższe rozwiązanie ustawia %path%zmienną użytkownika , która zezwala na wywołania %localappdata%itp. I która jest automatycznie dołączana do systemu %path%, dając pożądany efekt.

Andy Burton
źródło
4

Wykonaj proste kroki:

  1. Otwórz gitshellaktualizację, a następnie zamknij.
  2. Otwórz githubnie gitshell, aby wyodrębnić pliki automatycznie (oznacza to również aktualizację).
  3. Ponownie otwórz plik gitshell.

zobaczysz, że błąd się zakończy. Mam nadzieję, że to też ci pomoże.

NomanJaved
źródło
2

Miałem ten problem na Windows7 z zainstalowanym najnowszym programem github. Wyłączyłem nawet wszystkie funkcjonalności mojego antywirusa :)

Moim rozwiązaniem było otwarcie jako program administratorapowershell ise (z menu) i uruchomienie tego polecenia:

Set-ExecutionPolicy Unrestricted

Pojawi się okno dialogowe z pytaniem, kliknąłem tak. Następnie zamknąłem wszystkie okna i ponownie uruchomiłem powłokę github bez żadnych problemów.

martwa ryba
źródło
0

Moje proste rozwiązanie (dla użytkowników GitHub ):

  1. Utwórz plik wsadowy git.bat:

@echo off

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

  1. Przenieś do C:\Windows\folderu ...

Otóż ​​to!! Jesteś skończony!!

Uwaga: możesz również użyć git.batzamiast używać git.exebezpośrednio. Będzie to przydatne w przypadku oprogramowania, które wymaga wyraźnego wskazania pliku wykonywalnego git (np. Android Studio )

Gokul NC
źródło
-1

Inną opcją jest zmiana domyślnej powłoki.

Przejdź do Narzędzia -> Opcje i zmień domyślną powłokę z „PowerShell” na „Git Bash” lub coś innego.

nicedawg
źródło
1
To faktycznie działa. Dla mnie zmieniłem z PowerShell na Git Bash, a następnie zmieniłem go z powrotem na PowerShell.
slacker