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

Цілі

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

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

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

Виконайте

git switch main

02 Змініть hello.html

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

Внесіть зміни у файл 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 Скасування змін в робочій директорії

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

Виконайте

git restore hello.html
git status
cat hello.html

Результат

$ git restore hello.html
$ 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 показує нам, що в робочій директорії не було зроблено жодних незафіксованих змін. І «небажаний коментар» більше не є частиною вмісту файлу.