У меня такое было после синего экрана в винде. Некоторые файлы в папке .git (index, HEAD, и т. п.) оказались заполнены нулями. Помогло удаление HEAD (или index) и последующий checkout на нужную ветку. Но всё же рекомендую создать резервную копию перед тем, как делать такое.