When working on a product with multiple independent repositories, it is common to have separate repositories for the backend, frontend, mobile application, smart contracts, admin panel, or shared services.
For example:
Product Master Repository
│
├── backend
├── frontend
├── mobile
├── contracts
└── admin
One approach is to combine everything into a monorepo. Another approach is to keep each project as an independent repository and use Git submodules to bring them together under a master repository.
Git submodules are useful when you want to maintain repository independence while still having a single place that represents the complete product.
This article explains how Git submodules work, how to manage branches, how to update repositories, and the commands I use most often.

