← До фільтрів та технологій

← До списку лабораторних по Git

Git Лабораторна 11: Створення зворотного коміту

Технологія: Git

Номер лабораторної: 11 · Рівень: middle

Тема: git revert: безпечне скасування коміту в історії

Повний опис / сценарій лабораторної:

Мета: навчитися відміняти небажані коміти у вже опублікованій гілці за допомогою git revert.



Крок 1. Подивитися історію останніх комітів.

Команда: cd ~/git_lab1 && git log --oneline -n 5

Пояснення: оберіть коміт який містить небажану зміну.



Крок 2. Зробити невелику зміну і закомітити її.

Команди: echo "buggy line" >> readme.txt; git add readme.txt; git commit -m "Add buggy line"

Пояснення: це буде коміт який ми відмінимо.



Крок 3. Перевірити що коміт зʼявився у історії.

Команда: git log --oneline -n 3



Крок 4. Виконати git revert для цього коміту.

Команда: git revert ХЕШ_ПОГАНОГО_КОМІТУ

Пояснення: Git створить новий коміт який інверсно застосує зміни.



Крок 5. Переглянути diff для revert коміту.

Команда: git show

Пояснення: видно що зміни з попереднього коміту скасовуються.



Крок 6. Перевірити вміст файлу readme.txt.

Команда: tail -n 5 readme.txt

Пояснення: рядок з buggy line має бути вилучений.



Крок 7. Запушити зміни у віддалений репозиторій.

Команда: git push

Пояснення: це безпечна операція, історія не переписується.



Крок 8. Переглянути історію у веб інтерфейсі.

Пояснення: має бути видно і початковий коміт, і revert коміт.



Крок 9. Обговорити випадки коли revert кращий за reset.

Пояснення: особливо у спільних гілках де історію вже забрали інші.



Крок 10. Міні звіт.

Завдання: опишіть сценарій коли ланцюжок з кількох комітів треба відмінити через послідовність revert.