12. Скасування локальних змін (до індексації)

Цілі

  • Навчитися скасовувати зміни в робочій директорії.

01 Перейдіть на гілку main

Переконайтеся, що ви перебуваєте на останньому коміті гілки main, перш ніж продовжити роботу.

Виконайте

git switch main

02 Змініть hello.html

Іноді після того, як ви змінили файл у робочій директорії, ви передумали та хочете просто повернутися до того, що вже було закомічено. Команда checkout впорається з цим завданням.

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

Файл: hello.html

<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
    <!-- This is a bad comment. We want to revert it. -->
  </body>
</html>

03 Перевірте стан

Спочатку перевірте стан робочої директорії.

Виконайте

git status

Результат

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   hello.html

no changes added to commit (use "git add" and/or "git commit -a")

Ми бачимо, що файл hello.html було змінено, але ще не проіндексовано.

04 Скасування змін в робочій директорії

Використовуйте команду checkout для перемикання в версію файлу hello.html у репозиторії.

Виконайте

git checkout hello.html
git status
cat hello.html

Результат

$ git checkout hello.html
Updated 1 path from the index
$ git status
On branch main
nothing to commit, working tree clean
$ cat hello.html
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Команда status показує нам, що в робочій директорії не було зроблено жодних незафіксованих змін. І «небажаний коментар» більше не є частиною вмісту файлу.