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

Цели

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

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 master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   hello.html
#

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

03 Выполните сброс буферной зоны

К счастью, вывод состояние показывает нам именно то, что мы должны сделать для отмены индексации изменения.

Выполните:

git reset HEAD hello.html

Результат:

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

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

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

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

Выполните:

git checkout hello.html
git status

Результат:

$ git status
# On branch master
nothing to commit (working directory clean)

Наш рабочий каталог опять чист.