Git отказывается работать с репозиторием: dubious ownership

Каталог принадлежит другому пользователю — Git блокирует операции; как разрешить конкретный путь и почему запрет вообще появился

git config --global --add safe.directory G:/7/Projects/sig/sig-web
git config --global --get-all safe.directory
git config --global --add safe.directory '*'

Симптом: detected dubious ownership in repository, и дальше Git отказывается выполнять почти любую команду, хотя файлы читаются и права выглядят нормальными.

Причина не в правах, а во владельце: Git с версии 2.35.2 отказывается работать с репозиторием, принадлежащим другому пользователю. Ловится это регулярно на Windows — репозиторий на другом диске, каталог создан из-под другой учётной записи или админского процесса, папка примонтирована в контейнер или в WSL.

Запрет появился не на пустом месте: .git/config может выполнять команды (например, через core.fsmonitor), поэтому зайти в чужой каталог и запустить там git status — это потенциально запустить чужой код. Отсюда и белый список вместо тихого доверия.

Путь указывается в форме, в которой Git его видит, — на Windows с прямыми слэшами и буквой диска. Если после команды ошибка осталась, сверьте путь из сообщения Git с тем, что записали: расхождение в регистре или обратные слэши не сработают.

Вариант с '*' отключает проверку для всего. На личной машине это приемлемо и экономит время, на общем хосте или CI-раннере — нет: там ровно тот сценарий, ради которого проверку и добавили.