← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Meta: зрозуміти концепцію vendor branch коли зовнішній код постачають як архів без Git історії. Krok 1. Створити новий репозиторій vendor71. Komandy: cd ~; mkdir vendor71; cd vendor71; git init Krok 2. Імітувати розпакування архіву стороннього коду. Komandy: mkdir -p lib; echo "vendor code v1" > lib/vendor.txt; git add .; git commit -m "Import vendor v1" Krok 3. Створити тег vendor-v1. Komanda: git tag -a vendor-v1 -m "Vendor version 1" Krok 4. Коли виходить нова версія архіву, видалити старий вміст і додати новий. Komandy: rm -rf lib; mkdir -p lib; echo "vendor code v2" > lib/vendor.txt; git add -A; git commit -m "Import vendor v2" Krok 5. Створити тег vendor-v2. Komanda: git tag -a vendor-v2 -m "Vendor version 2" Krok 6. Переглянути історію vendor гілки. Komanda: git log --oneline -- lib Poyasnennya: видно послідовні імпорти архівів. Krok 7. Створити окрему гілку integration у основному проєкті де буде підмодуль або subtree з цього репозиторію. Poyasnennya: на практиці main репозиторій підтягує vendor як dependency. Krok 8. Подумати як автоматизувати оновлення vendor коду при виході нових архівів. Poyasnennya: можна мати скрипт який розпаковує нову версію, комітить і ставить тег. Krok 9. Занотувати переваги і недоліки vendor branch у порівнянні зі звичайним git submodule або пакетним менеджером. Krok 10. Mini zvit. Zavdannya: опиши де в твоїх проєктах може бути корисний підхід vendor branch.