13. Отмена проиндексированных изменений (перед коммитом)

Цели

  • Научиться отменять изменения, которые были проиндексированы.

01 Измените файл и проиндексируйте изменения

Внесите изменение в файл hello.html в виде нежелательного комментария

Файл: hello.html

<html>
  <head>
    <!-- This is an unwanted but staged comment -->
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Проиндексируйте это изменение.

Выполните

git add hello.html

02 Проверьте состояние

Проверьте состояние нежелательного изменения.

Выполните

git status

Результат

$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   hello.html

Состояние показывает, что изменение было проиндексировано и готово к коммиту.

03 Сбросьте области подготовки

Команда reset сбрасывает область подготовки к HEAD. Это очищает область подготовки от изменений, которые мы только что проиндексировали.

Выполните

git reset HEAD hello.html

Результат

$ git reset HEAD hello.html
Unstaged changes after reset:
M	hello.html

Команда reset (по умолчанию) не изменяет рабочую директорию. Поэтому рабочая директория всё еще содержит нежелательный комментарий. Мы можем использовать команду checkout из предыдущего урока, чтобы убрать нежелательные изменения в рабочей директории.

04 Переключитесь на версию коммита

Выполните

git checkout hello.html
git status

Результат

$ git checkout hello.html
Updated 1 path from the index
$ git status
On branch main
nothing to commit, working tree clean

Наша рабочая директория опять чиста.