Відміна Змін До Додавання в Індекс
Свайпніть щоб показати меню
Іноді можна змінити робоче дерево, але вирішити відхилити ці зміни до їх додавання в область індексації.
Далі розглядаються методи скасування змін у Git до їх додавання в staging area.
Відхилення змін за допомогою git restore
Команда git restore — це універсальний інструмент для відхилення змін у робочому дереві. Щоб скасувати зміни у змінених файлах до їх індексації, використовуйте цю команду наступним чином:
git restore <file>
Де <file> — це назва файлу або його шлях відносно директорії проєкту. Ця команда повертає вказаний файл до версії, яка знаходиться в staging area. Якщо staging area порожня, файл повертається до версії з останнього коміту.
Повернення до індексованої версії
Спочатку створіть новий файл з назвою recipe.txt, що містить простий рецепт варених яєць за допомогою команди echo:
echo "1. Prepare the Eggs
2. Boil Water
3. Place Eggs in the Saucepan
4. Boil the Eggs
5. Reduce Heat
6. Cook for 6-7 minutes" > recipe.txt
Тепер додайте цей файл і змініть його, додавши ще один рядок із наступним кроком рецепта:
git add recipe.txt
echo "7. Transfer eggs to ice water or run cold water over them" > recipe.txt
Ой, було використано неправильний оператор — > (який перезаписує файл) замість >> (який додає новий рядок).
Перед виправленням перевірте статус робочого дерева та області індексації:
git status
Як бачите, початкова версія файлу знаходиться у staged (індексованому) стані, тому відновіть файл до цієї версії та знову перевірте status (статус) робочого дерева та області індексації:
git restore recipe.txt
git status
Як бачите, наш робочий каталог тепер чистий, тобто зміни були скасовані, а файл повернуто до проіндексованої версії.
Повернення до останнього коміту
Спочатку зафіксувати створення файлу recipe.txt:
git commit -m "Add a file with a simple recipe for boiled eggs"
Коміт виконано успішно. Тепер додати ще один рядок до файлу з наступним кроком рецепту та перевірити статус робочого дерева:
echo "10. Transfer eggs to ice water or run cold water over them">> recipe.txt
git status
Ой, сталася ще одна помилка — доданий крок має бути 7, а не 10.
Не проблема; можна повернути цю зміну до останнього коміту.
Спочатку перевірте останній коміт:
git log -n 1
Цей коміт є саме тим, який потрібен, тому відновіть зміни до цієї версії та переконайтеся, що робоче дерево чисте:
git restore recipe.txt
git status
Робоче дерево чисте, що означає, що зміни були скасовані, а файл відновлено до версії з останнього коміту.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат