>_ IzzyLab

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

Откати коммит, оставив изменения в индексе

средне

В репозитории /root/repo два коммита: first (добавил file1.txt) и second (добавил file2.txt). Откати последний коммит так, чтобы HEAD снова указывал на first, но изменения из second (файл file2.txt) остались подготовленными к коммиту (в индексе). Файл file2.txt должен остаться на диске.

Что потренируешь:
  • git
  • git reset
  • --soft
  • индекс
  • HEAD~1

Разбор темы

git reset двигает указатель ветки на другой коммит, а его режим определяет судьбу индекса и рабочего дерева. Здесь нужно отменить последний коммит, но сохранить его изменения подготовленными к коммиту — это самый мягкий режим reset, который переносит HEAD назад и оставляет всё содержимое отменённого коммита уже в индексе. Целевой коммит задаётся относительной ссылкой вида HEAD~1.

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

  1. остался один коммит
  2. file2.txt в индексе
  3. file2.txt на диске

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