2011-12-08 20 views
7

Mam zdalny folder, do którego aktualnie nie mogę się przesłać. Kiedy przejść bezpośrednio do katalogu zdalnego i zrobić „stan git” czytamy:Status git zwraca "fatal: nie repozytorium git", ale katalog .git istnieje

śmiertelne: Nie git repozytorium

Folder .git nie istnieje i działa dobrze i wczoraj od tego czasu nic się nie zmieniło.

Czy ktoś może mi podać przyczynę (przyczyny), dlaczego mogę otrzymać tę wiadomość, mimo że istnieje folder .git?

Z góry dziękuję za pomoc. Bardzo doceniane!

+2

brakujące uprawnienia w katalogu .git? – Rufinus

+0

Jeśli nie to, co @Rufinus sugeruje całkiem poprawnie, prawdopodobnie uszkodzenie systemu plików ... – Romain

+0

jaki jest komunikat, który masz, kiedy próbować naciskać? – havexz

Odpowiedz

7

Jeśli uprawnienia w folderze .git są poprawne, sprawdź, czy istnieje plik .git/HEAD, który nie jest błędnie nazwany .git/head. Obecność .git/HEAD (lub HEAD w przypadku gołego) jest dodatkowym sprawdzeniem dla repozytorium git.

+2

Jeśli istnieje ".git/HEAD" i nadal pojawia się ten błąd, upewnij się, że * treść * pliku '.git/HEAD' wskazuje prawidłowe odwołanie. Jeśli git nie może parsować zawartości, wyprowadza również, że repozytorium jest nieprawidłowe. – koppor

+2

co to jest .git/HEAD nie istnieje? (w moim przypadku istnieje tylko .git/ORIG_HEAD) i mam taki sam problem jak OP. –

+0

@SeanAhrens Miałem uszkodzony plik 'HEAD' i świetny plik' ORIG_HEAD'. Skopiowanie tego ostatniego na poprzednią poprawiło mój problem i przywróciło mnie do prawidłowego stanu. Możesz uruchomić 'git reflog', aby zobaczyć ostatnie pozycje HEAD, kiedy już to zrobisz, na wypadek gdybyś musiał zresetować do innego zatwierdzenia. –

1

Sklonuj zdalne repozytorium do innego folderu i porównaj foldery .git.

+0

Przy takim teście różnice w folderze 'objects' niekoniecznie stanowią problem. –

+0

Prawidłowo, ale w innych folderach i plikach może wskazywać na problem – yorammi

Powiązane problemy