Проверьте пользователя и права на .git / logs / refs /heads, возможно, вы запустили что-то от имени пользователя root.
Объяснение: когда вы запускаете некоторые команды git от имени пользователя root (sudo?), Любые новые созданные файлы / каталоги будут принадлежать пользователю root, и по умолчанию [1] другие пользователи не будут иметь разрешения на запись в эти файлы / каталоги.
Когда вы позже работаете с этим хранилищем, вещи могут казаться работающими, пока вам не понадобится записать в файл, который фактически был создан root, т.е. принадлежит root.
Это должно исправить это, по крайней мере, в Linux:
sudo chown -Rc $UID .git/
Он также покажет вам все файлы, для которых он сменил владельцев.
[1] в нормальной настройке, не менее