← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: навчитися формувати складні множини комітів з використанням кількох діапазонів у log та для cherry-pick. Крок 1. Переглянути log з кількома гілками щоб знайти приклади розгалуження. Команда: cd ~/git_lab1 && git log --oneline --graph --decorate -n 30 Крок 2. Визначити два діапазони комітів які потрібно аналізувати окремо. Пояснення: наприклад feature-a..feature-b та hotfix..main. Крок 3. Використати range set у log. Команда: git log feature-a..feature-b hotfix..main --oneline Пояснення: Git обʼєднає коміти з обох діапазонів. Крок 4. Додати до range set виключення певного діапазону. Команда: git log feature-a..feature-b ^hotfix --oneline Пояснення: коміти з hotfix будуть виключені. Крок 5. Створити список хешів з такого log і зберегти у файл. Команда: git log feature-a..feature-b --format="%H" > range58.txt Крок 6. У іншій гілці послідовно виконати cherry-pick для цих хешів. Пояснення: можна написати невеликий скрипт який читає range58.txt і виконує cherry-pick. Крок 7. Перевірити результати cherry-pick. Команда: git log --oneline -n 10 Крок 8. Відпрацювати випадок коли потрібно забрати лише частину комітів з діапазону. Пояснення: відредагуйте range58.txt перед cherry-pick. Крок 9. Продумати правила коли такий підхід має сенс, а коли краще зробити merge або rebase. Крок 10. Міні звіт. Завдання: поясніть на своєму прикладі як range set допомагає перенести кілька логічно повʼязаних комітів без зайвих змін.