2013-09-22 14 views
6

śmiertelny nie repozytorium git (lub którykolwiek z katalogów nadrzędnych) .git jest błąd dostaję przy próbie wykonaj dowolną operację git na moim repo. Wprowadziłem kilka zmian do mojego projektu, który jest repo, a następnie próbuję sprawdzić status zmian i napotkać ten błąd. Zrobiłem ten błąd, ale nie zrobiłem żadnego postępu. Wydaje się, że ten błąd jest najczęstszy, gdy próbuje wykonać operacje git w katalogu, który znajduje się poza repo, co nie ma miejsca w moim przypadku. Również próbowałem sprawdzając mój ./git/HEAD i ./git/logs/refs/heads z których oba są puste pliki. ./git/logs/refs/remotes/origin/master jest również pusty.git śmiertelne nie repozytorium git (lub którykolwiek z katalogów nadrzędnych) .git

więc od początku:

  • Zrobiłem projekt Android w tym katalogu na jednym komputerze.
  • Zainicjowałem git na tym katalogu i opublikowałem go na github.
  • Korzystałem ze zwykłych przewodników online do wyciągania tego repo na 2 inne komputery .
  • Dokonano pewnych zmian na innym komputerze, wprowadzono zmiany w repozytorium .
  • Następnie na oryginalnym komputerze pomyślnie wprowadzono zmiany.
  • Po niepracowaniu w projekcie przez kilka dni, wprowadziłem pewne zmiany na oryginalnym komputerze , próbowałem sprawdzić status i tak się dzieje.

Odpowiedz

6

Upewnij się, że nie mają zmienną GIT_DIR lub GIT_WORK_TREE środowiskowych określonych w bieżącej sesji, co wskazywałoby na niewłaściwym folderze.

W razie wątpliwości, spróbuj:

cd /path/to /your/repo 
git --git-dir .git --work-tree . status 

Jeśli to zawiedzie, spróbuj przynajmniej do sklonowania tego repo ponownie z GitHub, i dodaj swoje ostatnie zmiany w tym nowym repo:

cd /path/to/new/clone 
git --git-dir .git --work-tree /path/to /your/repo add . 

(i kontynuuj pracę w tym nowym klonie)

+0

Nie mogę używać żadnych poleceń git na ścieżce repo. Wszystkie komendy git właśnie zwracają błąd "nie repo". Jak inaczej mogę sprawdzić moje GIT_DIR lub GIT_WORK_TREE? – xyals

+0

@ user2804884 wypróbowałeś pierwszą komendę git, o której wspomniałem w mojej odpowiedzi? – VonC

+1

Próbowałem, że na mojej repozytorium ścieżki i zwrócił błąd w pytaniu – xyals

6

Ja też miałem ten sam problem. Problem polegał na tym, że mój folder git był zsynchronizowany z usługą chmurową UbuntuOne. Zepsuł pliki, dodając pliki dołączone do u1conflict. I moja .git/HEAD była również pomieszana jako .git/HEAD.u1conflict.

Czy korzystasz z usług współpracy chmurowej w usłudze git? Dropbox, UbuntuOne itp. Prawdopodobnie twój folder .git został uszkodzony podczas procesu synchronizacji.

9

W moim przypadku, przypadkowo .git/HEAD plik został pomieszany z nieznanymi znakami, ale plik .git/ORIG_HEAD był w porządku (ma identyfikator zatwierdzenia). Tak więc skopiowałem zawartość .git/ORIG_HEAD do pliku .git/HEAD. Następnie ponownie uruchomiłem IDE (Aptana) i wszystko działało dobrze.

+0

Wpadłem na ten problem, gdy zobaczyłem grupę znaków NULL w pliku .git/HEAD po awarii mojego komputera. Pierwszym symptomem, który zauważyłem, była całkowita utrata wszystkiego w historii po zobaczeniu "nieudanego dziennika" git log z kodem 128: fatal: Not a git reository ... ". Ten płynny ruch przywracał rzeczy. – RacerNerd

Powiązane problemy