4. Скасування небажаних змін

Скасовуємо підготовлені зміни

Тепер припустімо, що наш Hello, World! має виділятися. Зробімо з нього заголовок!

І як це зробити?

А що як обгорнути вміст hello.html у теги <head>? Результат має виглядати так:

Файл: hello.html
<head>Hello, World!</head>
Завдання
Виконано

Обгорни вміст hello.html у теги <head> </head> і додай зміни до області підготовки.

Секундочку... Я сказав теги <head> </head>? Ой, перепрошую, звісно ж, я мав на увазі теги <h1> </h1>! На жаль, зміни вже в області підготовки.

От халепа... І що тепер?

Перш ніж щось робити, швиденько запустімо git status і подивімося, що відбувається.

СУПЕРКОРИСНА ПОРАДА: Стрілками і на клавіатурі можна гортати історію команд у терміналі. Чудовий спосіб не набирати команди заново.

Завдання
Виконано

Запусти команду git status, щоб перевірити стан репозиторію.

Має з'явитися щось таке:

Результат:

On branch main Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: hello.html

Скористаймося підказкою самої команди і приберімо зміни з області підготовки через git restore із додатковою опцією --staged.

Завдання
Виконано

Запусти команду git restore --staged ., щоб очистити область підготовки.

Перевірмо статус ще раз.

Завдання
Виконано

Запусти команду 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")

Сюрприз-сюрприз! Зміни нікуди не поділися! Але принаймні вони більше не готуються до коміту.

Що далі?

Щоб викинути зміни остаточно, можна запустити команду git restore без жодних опцій (так само, як на попередньому кроці курсу).

Завдання
Виконано

Запусти git restore ., щоб очистити робоче дерево.

Перевірмо статус ще раз.

Завдання
Виконано

Запусти команду git status, щоб перевірити стан репозиторію.

Вивід має виглядати так:

Результат:

On branch main nothing to commit, working tree clean

Ось і все! Зміни скасовано, і робоче дерево знову чисте.

Насправді можна було повернути все до чистого стану за один раз. Команда git restore працює у двох режимах: типовий режим --worktree відновлює робоче дерево, а режим --staged — область підготовки. Обидві опції можна вказати одразу й відновити і область підготовки, і робоче дерево одним махом: git restore --staged --worktree ..

Next step
Хочеш спробувати Сюжетний режим?

Проходь курс так, як він і задуманий: маленькими порціями, у сфокусованому лінійному порядку, поступово відкриваючи статті Gitopedia. Будь-коли можна продовжити зі справжнім Git у VS Code/Cursor/Antigravity/Windsurf.

Сюжетний режим
БЕЗКОШТОВНО
але потрібен вхід