Ha van egy projektünk, ami több részből áll, úgymint backend, frontend, asztali és mobil alkalmazás, ezeknek, egyetlen Git tárolót hozzunk létre, vagy mindegyiknek külön-külön?
A következő megoldások vannak:
Mono-repo esetén könnyebb a projekt indítása. A csoport kénytelen együtt dolgozni. Viszont egyetlen tárolónak nagyon nagy felelőssége van.
Ahány rész, annyi Git tároló.
app01/ |-api/ | `-.git/ |-desktop/ | `-.git/ |-mobil/ | `-.git/ `-web/ `-.git/
Minden rész, egyetlen Git tárolóban van.
app01/ |-.git/ |-api/ |-desktop/ |-mobil/ `-web/
Minden rész egyetlen könyvtárban van, de azok nincsenek szét választva külön könyvtárakra.
app01/ |-.git/ |-controllers/ |-models/ |-views/ `-index.php
Ez akkor fordulhat elő, ha ugyanazzal a keretrendszerrel készítjük a backend-t és frontendet. Ha van asztali és mobil alkalmazás is, annak már külön könyvtár kell.
Olyan keretrendszerek is előfordulnak, amelyekkel egyszerre lehet gyártani webes, desktop és mobil felületet. Ez is egy mono repót eredményez, de itt a backend valószínűleg külön projekt lesz.
A több részből álló projektet megoldhatjuk több branch használatával is.
^ |-mobil |-desktop |-frontend |-api | master