n1ro°
RU

Компьютеры · Инструкция

Как перестать отслеживать файл в Git, но оставить его локально

Сделайте резервную копию важного локального файла. Добавьте точный путь или безопасный шаблон в `.gitignore`. Уберите фа

Редакция N1RO · Проверено

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

Добавьте путь в `.gitignore`, затем выполните `git rm --cached -- <file>` и commit; локальный файл останется на диске, но новая версия index перестанет его отслеживать.

Проверка по порядку

  • Сделайте резервную копию важного локального файла.
  • Добавьте точный путь или безопасный шаблон в `.gitignore`.
  • Проверьте правило через `git check-ignore -v --no-index <file>`.

Исправление

  1. Уберите файл только из index командой `git rm --cached -- <file>`; для каталога используйте `-r`.
  2. Проверьте `git status`: staged-удаление должно присутствовать, а физический файл — оставаться на месте.
  3. Создайте commit с `.gitignore` и изменением index, затем проверьте результат в чистом clone.

Как понять, что исправлено

  • Файл физически остаётся на диске, git status показывает staged removal из index, а после commit новые изменения файла игнорируются.

Важно

git rm --cached меняет index и попадёт в следующий commit. Сначала добавьте корректное правило .gitignore и убедитесь, что локальный файл остаётся на диске.

Что учитывать

git rm --cached меняет index и попадёт в следующий commit. Сначала добавьте корректное правило .gitignore и убедитесь, что локальный файл остаётся на диске.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-rm Documentation). Пример и формулировки — редакция N1RO на 2026-09-17.