NOTA: isso não responde ao problema comum, que era o problema do OP, mas ao problema diferente em que essa mensagem de erro pode aparecer. Eu não estava com vontade de fazer uma nova pergunta apenas para escrever esta resposta, diga-me se eu deveria fazer isso: P
Cheguei à situação, provavelmente devido a alguma corrupção de um certo travamento que tive, que recebi esse erro mesmo quando .gitexistia.
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG config* FETCH_HEAD HEAD index logs/ modules/ objects/ ORIG_HEAD packed-refs
Como não tinha nada que realmente precisasse ser preservado, segui o caminho fictício e fiz ...
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/
Ainda não está funcionando, como por exemplo git logretorna fatal: bad default revision 'HEAD'. Os controles remotos estavam lá, então eu fiz git fetch --alle depois apenas git reset --hard origin/masterpara chegar ao estado em que o repositório estava anteriormente.
Note-se que se houver algumas alterações não confirmadas, você pode vê-los com git status, git diffe assim por diante. Então apenasgit diff yourfile > patch antes de executar a redefinição.
Pelo menos para mim, o reflog ( git reflog) desapareceu completamente. Portanto, se você fizer a redefinição e houver algumas alterações que você deseja impedir, não tenho certeza de que você poderá recuperá-las após a redefinição. Portanto, verifique se você tem todas as alterações que não pode perder, copiando o clone antes de tentar isso.
git initmas também certificar-se de nenhum dos seus subdiretórios têm a sua própria.gitpasta