Зміст курсу
Основи Git
Основи Git
Скасування Коммітів
У роботі з контролем версій за допомогою Git одним з поширених сценаріїв є необхідність скасувати зміни, внесені певним коммітом. Це може бути пов'язано з різними причинами, такими як виявлення помилки, усвідомлення того, що функція не готова до продакшину або просто бажання застосувати інший підхід.
На щастя, у Git передбачена команда git revert
для створення нового комміту, який скасовує зміни, внесені конкретним коммітом, шляхом виконання обернених змін у цьому комміті.
Скасування Останнього Комміту
Щоб відкотити останній комміт, скористайтеся наступною командою:
Примітка
HEAD - це покажчик на останній комміт у поточній гілці.
Оскільки зараз ми працюємо лише з однією гілкою, HEAD просто вказує на останній комміт. Ця команда створює новий комміт, який скасовує зміни, зроблені в останньому комміті. Git відкриє текстовий редактор за замовчуванням, щоб ви могли змінити повідомлення комміту, якщо це необхідно. Збережіть і закрийте редактор, щоб завершити скасування.
Приклад Сценарію
Давайте спочатку додамо новий рядок до нашого файлу recipe.txt
за допомогою ще одного кроку і безпосередньо закоммітимо цю зміну, оминаючи стедйж зону:
Тепер ми можемо показати детальну інформацію про цей комміт за допомогою команди git show
з HEAD
:
Упс, всі попередні рядки було видалено. Схоже, ми використали неправильний оператор виводу, а саме >
замість >>
, що призвело до того, що наш файл було перезаписано. Не хвилюйтеся, ми скористаємося командою git revert
, щоб скасувати ці зміни у нашому останньому комміті:
Як бачите, відкривається текстовий редактор за замовчуванням (у моєму випадку Vim) з повідомленням комміту за замовчуванням. Поки що ми залишимо його як є, але в реальних проєктах часто краще додати, наприклад, причину скасування:
Примітка
Щоб зберегти зміни і вийти з Vim, натисніть клавішу Escape і дві великі літери Z.
Нарешті, ми можемо поглянути на зміни у двох останніх коммітах:
В принципі, як і очікувалося, було створено новий коміт зі зворотними змінами.
Примітка
Використовуйте стрілки для прокрутки вгору або вниз і натисніть клавішу q для виходу.
Дякуємо за ваш відгук!