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

Наша робоча директорія знову чиста.