Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Відміна Змін До Додавання в Індекс | Скасування змін
Основи Git

Відміна Змін До Додавання в Індекс

Свайпніть щоб показати меню

Іноді можна змінити робоче дерево, але вирішити відхилити ці зміни до їх додавання в область індексації.
Далі розглядаються методи скасування змін у 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
Створення файлу recipe.txt

Тепер додайте цей файл і змініть його, додавши ще один рядок із наступним кроком рецепта:

git add recipe.txt
echo "7. Transfer eggs to ice water or run cold water over them" > recipe.txt
Додавання та зміна файлу 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"
Фіксація файлу recipe.txt

Коміт виконано успішно. Тепер додати ще один рядок до файлу з наступним кроком рецепту та перевірити статус робочого дерева:

echo "10. Transfer eggs to ice water or run cold water over them">> recipe.txt
git status
Зміна файлу recipe.txt

Ой, сталася ще одна помилка — доданий крок має бути 7, а не 10.
Не проблема; можна повернути цю зміну до останнього коміту.
Спочатку перевірте останній коміт:

git log -n 1
Останній коміт

Цей коміт є саме тим, який потрібен, тому відновіть зміни до цієї версії та переконайтеся, що робоче дерево чисте:

git restore recipe.txt
git status
Відновлення до останнього коміту

Робоче дерево чисте, що означає, що зміни були скасовані, а файл відновлено до версії з останнього коміту.

Повернення до останнього коміту
question mark

Що робить команда git restore <file> перед індексацією змін?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 1
some-alt