Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code: Git command failed - jak naprawić

W skrócie

  • Problem: komenda git uruchomiona przez Claude Code zwróciła błąd (Git command failed).
  • Dlaczego: najczęściej brak repozytorium, konflikt scalania, brak konfiguracji user.name/user.email albo brak uwierzytelnienia do push.
  • Rozwiązanie: sprawdź git status, wejdź we właściwy katalog lub zainicjuj repo, ustaw dane użytkownika git i skonfiguruj dostęp do zdalnego repozytorium.

"Git command failed" oznacza, że komenda git uruchomiona przez Claude Code nie przeszła. Przyczyny bywają bardzo różne - od braku repozytorium, przez konflikt scalania, po brak uwierzytelnienia przy wysyłaniu zmian.

Jak to wygląda w praktyce

Claude próbuje wykonać operację git - commit, push, checkout, merge - a komenda kończy się błędem. W rozmowie pojawia się "Git command failed" wraz z komunikatem, który git wypisał na wyjście błędów.

Zależnie od przyczyny widzisz różne szczegóły: "not a git repository", informację o konflikcie, o braku ustawionego autora commita albo o odmowie dostępu przy wysyłaniu do zdalnego repozytorium.

Dlaczego tak się dzieje

Pod jednym hasłem kryje się wiele sytuacji. Najczęstsze to: bieżący katalog nie jest repozytorium git, występuje konflikt scalania do rozwiązania, jesteś w stanie odłączonej głowy (detached HEAD), brakuje konfiguracji user.name lub user.email potrzebnej do commita, brakuje uprawnień lub uwierzytelnienia do push (token albo klucz SSH), próbujesz wypchnąć zmiany na chroniony branch, albo nie ma skonfigurowanego zdalnego repozytorium.

Dlatego samo "Git command failed" nie wystarczy do diagnozy - trzeba odczytać, którą komendę git próbowano wykonać i co dokładnie zwróciła.

Jak to rozwiązać krok po kroku

  1. Zacznij od git status - pokaże, czy jesteś w repozytorium, na jakiej gałęzi i jaki jest stan drzewa roboczego.
  2. Jeśli to nie repozytorium, wejdź we właściwy katalog projektu albo zainicjuj repo komendą git init.
  3. Jeśli brakuje danych autora, ustaw je: git config user.name "Imię" oraz git config user.email "adres@example.com".
  4. Jeśli git zgłasza konflikt scalania, rozwiąż go w plikach, a potem git add i dokończ scalanie.
  5. Jeśli push odbija się na uwierzytelnieniu, skonfiguruj dostęp - token dostępu lub klucz SSH do zdalnego repozytorium.
  6. Jeśli push idzie na chroniony branch (np. main), pracuj na osobnej gałęzi: git checkout -b nazwa-galezi i wystaw pull request.
  7. Jeśli brakuje zdalnego repozytorium, dodaj je: git remote add origin adres-repo.

Jak sprawdzić, że zadziałało

Po naprawie uruchom ponownie git status, a następnie powtórz komendę, która wcześniej padła. Brak komunikatu "Git command failed" i normalne wykonanie oznacza, że przyczyna została usunięta.

Jeśli problem dotyczył wysyłania, sprawdź w zdalnym repozytorium, czy commit faktycznie do niego dotarł. Sam brak błędu lokalnie nie zawsze potwierdza, że zmiany są już na serwerze.

Wróć do listy problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

Szkolenie Claude Code - od zera do zespołu agentów AI

Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.

Sprawdź szkolenie Claude Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Dlaczego git zwraca not a git repository?
Bo bieżący katalog roboczy nie zawiera repozytorium git ani nie znajduje się wewnątrz żadnego. Git nie ma wtedy gdzie zapisać historii. Rozwiązaniem jest wejście do właściwego katalogu projektu, który już jest repozytorium, albo zainicjowanie nowego repozytorium komendą git init w katalogu, w którym chcesz wersjonować kod.
Co zrobić, gdy git prosi o user.name i user.email?
Git wymaga danych autora, żeby podpisać każdy commit. Bez nich commit się nie wykona. Ustaw je komendami git config user.name z Twoim imieniem oraz git config user.email z adresem e-mail. Możesz to zrobić lokalnie dla jednego repozytorium albo globalnie z flagą --global dla wszystkich projektów na tym koncie.
Dlaczego push kończy się błędem uwierzytelnienia?
Wysyłanie zmian do zdalnego repozytorium wymaga potwierdzenia tożsamości, najczęściej przez token dostępu lub klucz SSH. Jeśli poświadczenia nie są skonfigurowane, wygasły albo nie mają uprawnień do zapisu w tym repozytorium, serwer odmawia i push pada. Trzeba skonfigurować prawidłowy token lub klucz SSH z prawem zapisu.
Co oznacza detached HEAD i czy to problem?
Detached HEAD to stan, w którym jesteś na konkretnym commicie, a nie na gałęzi. Commity zrobione w tym stanie mogą zostać utracone, bo nie należą do żadnej gałęzi. Jeśli chcesz zachować pracę, utwórz gałąź komendą git checkout -b nazwa-galezi, a jeśli tylko oglądałeś kod, wystarczy wrócić na gałąź komendą git checkout.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...