>_ IzzyLab

Практическое задание

Убери секрет из-под контроля версий

средне

В репозитории /root/repo по ошибке закоммитили файл с секретами secrets.env. Убери его из-под контроля версий, не удаляя сам файл с диска: перестань отслеживать secrets.env (удали из индекса и зафиксируй это коммитом) и добавь строку secrets.env в файл .gitignore, чтобы он больше не попадал в коммиты. Итог: secrets.env остаётся на диске, но его больше нет в HEAD, а .gitignore содержит secrets.env.

Что потренируешь:
  • git rm --cached
  • индекс
  • .gitignore
  • прекращение отслеживания
  • секреты

Разбор темы

Есть разница между «файлом на диске», «файлом в индексе» и «файлом в коммите»: убрать секрет из-под контроля версий — значит вычистить его из индекса, оставив в рабочем дереве. Для этого у git rm есть флаг --cached, снимающий отслеживание без удаления файла; изменение затем фиксируют коммитом. Чтобы файл не вернулся в будущие коммиты, его имя добавляют в .gitignore. Помни: это не стирает секрет из старой истории.

Что проверяется

  1. secrets.env на диске
  2. secrets.env убран из HEAD
  3. .gitignore содержит secrets.env

Как это выглядит