Git WindowsLinuxmacOSGit

Git: Git показывает предупреждение о небезопасном владельце репозитория

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Сообщение dubious ownership или detected dubious ownership in repository появляется, когда Git обнаруживает несоответствие владельца рабочей папки и текущей учётной записи. Защита safe.directory предотвращает чтение недоверенной конфигурации; её не нужно отключать глобально для всех репозиториев.

В этой статье
  1. Как проявляется ошибка и когда применим способ
  2. Причины и признаки
  3. Пошаговая диагностика и решение
  4. Проверка результата и действия при повторении

#Как проявляется ошибка и когда применим способ

Сообщение dubious ownership или detected dubious ownership in repository появляется, когда Git обнаруживает несоответствие владельца рабочей папки и текущей учётной записи. Защита safe.directory предотвращает чтение недоверенной конфигурации; её не нужно отключать глобально для всех репозиториев.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Папка принадлежит другому пользователюРепозиторий скопирован администратором или распакован под другой учётной записью.В предупреждении указан конкретный путь к репозиторию.Проверить владельца и запуск от нужной учётной записи.
Система сборки использует несколько пользователейРабочая копия раздаётся между службами, но не была спроектирована для общего доступа.Git работает в интерактивном сеансе и ругается в CI или службе.Разделить рабочие копии и права корректно.

#Пошаговая диагностика и решение

  1. 1. Прочитайте предупреждение и путь без копирования командЗапустите git status в папке репозитория и сохраните его путь и текст предупреждения. Git иногда предлагает git config --global --add safe.directory, но это исключение допустимо только для доверенного конкретного каталога. Не добавляйте звёздочку *, чтобы отключить все проверки.
  1. 2. Сравните текущую учётную запись и владельцаНа Linux/macOS используйте id и ls -ld для конкретного пути. В Windows откройте Проводник → Свойства каталога → Безопасность → Дополнительно и посмотрите «Владелец». Если папка связана с чужим проектом, не доверяйте ей и спросите владельца.
  2. Linux/macOS: замените путь; команды только читают сведения о пользователе и каталоге
    Linux · Терминал (Bash)Команда
    Linux/macOS: замените путь; команды только читают сведения о пользователе и каталоге.
    id
    ls -ld /ПУТЬ/К/РЕПОЗИТОРИЮ
  1. 3. Решите, нужен ли общий каталогДля личного проекта предпочтительно работать из своей папки, созданной своей учётной записью. Для CI — отдельная копия под пользователем сборки. Если права назначены системой управления развёртыванием, не меняйте владельца рекурсивной командой: можно сломать службы.
  1. 4. При необходимости доверяйте одному проверенному путиЕсли администратор подтвердил безопасность именно этого репозитория, под своей обычной учётной записью добавьте точный абсолютный путь в global safe.directory. В Windows используйте путь Windows и прямые косые черты или обычное экранирование, вместо выдуманного /ПУТЬ.
  2. Меняет пользовательскую конфигурацию Git только для указанного пути
    Linux · Терминал (Bash)С осторожностью
    Меняет пользовательскую конфигурацию Git только для указанного пути. Подставьте точный доверенный абсолютный путь.
    git config --global --add safe.directory /ПУТЬ/К/РЕПОЗИТОРИЮ

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 5. Проверьте конкретную записьВыполните git config --global --get-all safe.directory. Должен появиться ровно разрешённый путь без звёздочки. Если ошибка остаётся, проверьте путь с символическими ссылками и пользователя, от которого реально запускается Git.
  2. Чтение доверенных каталогов и проверка доступа к текущему репозиторию
    Linux · Терминал (Bash)Команда
    Чтение доверенных каталогов и проверка доступа к текущему репозиторию.
    git config --global --get-all safe.directory
    git status
  1. 6. Удалите исключение, если репозиторий больше не доверенныйЕсли каталог перенесён, больше не используется или владелец неизвестен, удалите именно свою запись командой git config --global --unset-all safe.directory ПУТЬ, предварительно сверив точное значение. Если команда не помогла, проверьте другие области конфигурации, а не выключайте защиту.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)С осторожностью
    Удаляет только совпадающие записи данного пути из глобальных настроек; выполняйте при необходимости отката.
    git config --global --unset-all safe.directory /ПУТЬ/К/РЕПОЗИТОРИЮ

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

#Проверка результата и действия при повторении

В доверенном репозитории git status выполняется от штатного пользователя, остальные неразрешённые каталоги продолжают вызывать проверку владельца. При неуспехе верните исходную конфигурацию и пересоздайте копию репозитория с правильными правами.

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.