Skip to main content

Які команди Git використовуються для скасування змін?

Для скасування змін у Git використовується кілька команд, вибір залежить від того, на якому етапі перебувають зміни.


1. Скасування змін у робочому дереві (до git add)

git restore <file>

Скасовує зміни у файлі і повертає його до стану останнього коміту.

bash
git restore file.txt

git checkout -- <file> (застарілий варіант)

Робить те саме, але вважається менш бажаним.

bash
git checkout -- file.txt

2. Скасування додавання до staging area (unstage)

git restore --staged <file>

Прибирає файл зі staging area, але зберігає зміни в робочому дереві.

bash
git restore --staged file.txt

git reset <file>

Альтернативний спосіб прибрати файл з індексу.

bash
git reset file.txt

3. Скасування коміту зі зміною історії

git reset

Використовується для відкату локальних комітів.

bash
git reset --soft HEAD~1 # скасувати коміт, зберегти зміни в stage git reset --mixed HEAD~1 # скасувати коміт, зберегти зміни в working directory git reset --hard HEAD~1 # повністю видалити коміт і зміни

Змінює історію, небезпечно для публічних гілок.


4. Скасування коміту без зміни історії

git revert

Створює новий коміт, який скасовує зміни зазначеного коміту.

bash
git revert HEAD

Безпечно для спільних гілок.


5. Тимчасове скасування змін

git stash

Тимчасово зберігає зміни і очищає робоче дерево.

bash
git stash git stash pop

Ключове формулювання для співбесіди

Для скасування змін у Git використовуються команди restore, reset, revert і stash. Конкретна команда обирається залежно від того, де перебувають зміни: у робочому дереві, staging area чи історії комітів.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.