>_ IzzyLab

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

Не коммить секреты

средне

В репозиторий /root/project случайно закоммитили файл .env с паролями. Убери его из-под контроля версий (файл на диске оставь!) и добавь .gitignore, чтобы он больше никогда не коммитился. Сделай коммит с этими изменениями.

Что потренируешь:
  • git
  • git rm
  • --cached
  • .gitignore
  • секреты

Разбор темы

Git разделяет два состояния файла: на диске (рабочее дерево) и под контролем версий (индекс). .gitignore действует только на ещё НЕ отслеживаемые файлы, поэтому для уже закоммиченного файла одной записи в игнор мало — git продолжит его отслеживать. Сначала файл убирают из индекса, сохранив его на диске (для этого у git rm есть флаг, отменяющий удаление с диска), и только потом добавляют в .gitignore и фиксируют изменения.

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

  1. .env убран из-под контроля версий
  2. файл .env остался на диске
  3. .env добавлен в .gitignore
  4. git игнорирует .env

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