Начиная с версии Git 2.35.2, в котором были исправлены ошибки безопасности — начало появляться сообщение:
«git log» failed with code 128: fatal: unsafe repository. To add an exception for this directory, call: git config —global —add safe.directory
Что предсатавляет собой папаметр safe.directory
?
С помощью данного параметра конфигурации можно указать каталоги, отслеживаемые Git, которые считаются безопасными, даже если они принадлежат кому-то, кроме текущего пользователя. По умолчанию Git отказывается даже анализировать конфигурацию Git репозитория, принадлежащего кому-то другому, и этот параметр конфигурации позволяет пользователям указывать исключения, например. для преднамеренного использования общих репозиториев
Как исправить ошибку git failed with code 128: unsafe repository ?
- Открыть папку с репозиторием (например:
С:\path_to_repo
) - Запустить
git bash
- Выполнить команду описанную в сообщении:
git config --global --add safe.directory <span style="background-color: inherit; font-size: 0.857143rem; white-space: pre-wrap;">С:\path_to_repo</span>
Code language: HTML, XML (xml)
где `С:\path_to_repo` — путь к вашему репозиторию
Как полностью отказаться от проверки безопасности с помощью safe.directory?
Чтобы полностью отказаться от этой проверки безопасности, задайте для safe.directory
*. Это позволит обрабатывать все репозитории так, как если бы их каталог был указан в списке safe.directory
.
Как включить проверку безопасности с помощью safe.directory?
Если в конфигурации системы установлено значение safe.directory=*
и вы хотите снова включить её, инициализируйте свой список пустым значением, прежде чем перечислять репозитории, которые вы считаете безопасными.
PS: Описание опции safe.directory
можно почитать git-scm.com (eng)