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)

Наш робочий каталог знову чистий.