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

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

Git Лабораторна 54: Підтримка форку з довгоживучою гілкою патчів

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

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

Тема: Власні патчі поверх зовнішньої бібліотеки

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

Мета: навчитися організовувати форк зовнішньої бібліотеки з власними патчами які легко оновлювати при нових релізах.



Крок 1. Клонувати оригінальний репозиторій бібліотеки як upstream.

Команда: cd ~ && git clone URL_LIB vendor_lib && cd vendor_lib



Крок 2. Створити гілку patches від останнього релізного тега.

Команди: git checkout v1.0.0; git switch -c patches



Крок 3. Зробити один або кілька власних патчів у гілці patches.

Команди: echo "local change" >> local54.txt; git add local54.txt; git commit -m "Local patch for customer"



Крок 4. Додати свій remote як origin.

Команда: git remote rename origin upstream; git remote add origin URL_FORK

Пояснення: upstream тепер оригінал, origin ваш форк.



Крок 5. Запушити гілку patches у свій форк.

Команда: git push -u origin patches



Крок 6. Коли виходить новий реліз, забрати його з upstream.

Команда: git fetch upstream --tags



Крок 7. Створити нову гілку для оновлення патчів.

Команда: git switch patches; git rebase upstream/v1.1.0

Пояснення: власні патчі відтворюються поверх нового релізу.



Крок 8. Вирішити конфлікти якщо вони виникають.

Пояснення: це природно при змінах у тих самих ділянках коду.



Крок 9. Після успішного rebase запушити оновлені патчі.

Команда: git push --force-with-lease



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

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