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

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

Git Лабораторна 59: Організація гілок і каталогів у монорепозиторії

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

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

Тема: Git у монорепозиторії з кількома сервісами

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

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



Крок 1. Створити базову структуру монорепозиторію.

Команди: cd ~ && mkdir -p monorepo/services/api monorepo/services/web monorepo/services/worker; cd monorepo; git init



Крок 2. Додати по простому файлу у кожний сервіс.

Команди: echo "api service" > services/api/readme.md; echo "web service" > services/web/readme.md; echo "worker service" > services/worker/readme.md



Крок 3. Закомітити початкову структуру.

Команди: git add .; git commit -m "Initial monorepo layout"



Крок 4. Налаштувати .gitignore для загальних артефактів.

Команда: echo "node_modules/" >> .gitignore; git add .gitignore; git commit -m "Ignore common build artifacts"



Крок 5. Створити гілку для розробки api сервісу.

Команда: git switch -c feature/api-auth



Крок 6. Зробити зміни тільки у каталозі services/api.

Команда: echo "auth feature" >> services/api/readme.md; git add services/api; git commit -m "Add auth feature to api"



Крок 7. Створити окрему гілку для змін у web сервісі.

Команда: git switch main; git switch -c feature/web-ui



Крок 8. Внести зміну тільки у services/web.

Команди: echo "new ui" >> services/web/readme.md; git add services/web; git commit -m "Update web ui"



Крок 9. Обговорити як використовувати шляхи у log і diff для аналізу змін конкретного сервісу.

Пояснення: наприклад git log -- services/api чи git diff main -- services/web.



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

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