2012-07-20 12 views
5

W moim repozytorium git Zrobiłem UTF-8 konwersję wielu plików, ale tylko poniżej katalogu .git, więc katalog .git nie został poruszony. Przed tą konwersją stworzyłem nową gałąź testową, ale teraz nie mogę już używać mojego repo, nie mogę przełączyć się z powrotem do wzorca. Kiedy zrobić:git status daje mi błąd: zły plik indeksu SHA1 podpis

git status 

lub inna komenda git uzyskać:

error: bad index file sha1 signature 
fatal: index file corrupt 
fatal: 'git status --porcelain' failed in submodule core/kimai-mobile 

Szukałem na ten temat i okazało się, że polecenie:

rm -f .git/index 

i po tym:

git reset 

ale to nie " t pomóc. Nie rozumiem, co jest nie tak. Potem usunąłem rdzeń "submodułu"/kimai-mobile i nagle mogłem go użyć ponownie!

miałem ten drugi repozytorium git w tym katalogu, w którym zniszczył inny plik indeksu z mojego nawrócenia. Mój problem polegał na tym, że myślałem, że chodzi o "główny" plik indeksu repositorys.

Teraz pracuje ponownie :)


Moje pytanie brzmi, dlaczego git patrzeć w tym modułem choć miałem cały folder z tym modułem w moim ignorelist?

Jest to plik ignorować mojego "głównego" git:

.gitignore 

... 
# kimai mobile 
kimai-mobile 
... 
+0

Jakie jest pytanie? –

Odpowiedz

6

submodules są kompletne repozytoria git. Mogą więc zawierać podkatalog .git (lub przynajmniej link do niego).

Więc jeśli narzędzie użyć wszystkich plików oprócz .git w głównym repozytorium root może nadal uszkodzone niektóre wewnętrzne pliki .git w submodułów ty.

Powiązane problemy