git restore
Скасувати правки у файлі або прибрати його з індексу
Що робить
Без прапорців git restore повертає файл до версії з індексу, а якщо файл не додавали — до останнього коміту. Простіше кажучи, викидає правки, які ще не пройшли через git add.
З прапорцем --staged команда працює з індексом: прибирає звідти файл, а правки в самому файлі залишаються. Це дія, зворотна до git add. Команда з'явилася в git 2.23, раніше те саме робили через git checkout -- <файл> і git reset <файл>.
Обережно. git restore <файл> без --staged стирає незакомічені правки у файлі. Повернути їх не можна: git їх ніде не зберігав.
Синтаксис
git restore <файл>
git restore --staged <файл>Приклади
Скасувати не додані в індекс правки в src/app.js
git restore src/app.jsте саме:
git checkout -- src/app.jsrestore— повернути файл до версії з індексуsrc/app.js— файл
Прибрати src/app.js з індексу, зберігши правки у файлі
git restore --staged src/app.jsте саме:
git reset HEAD src/app.js,git reset src/app.jsrestore— повернути--staged— лише індекс, файл не чіпатиsrc/app.js— файл
Пов’язані команди
- git add — Додати зміни до індексу, щоб вони потрапили в наступний коміт
- git status — Показати, що змінилося в теці та що вже додано до індексу
- git reset — Пересунути гілку на інший коміт, наприклад скасувати останні коміти