< Git

Git stratégiák

Szerző: Sallai András

Copyright © 2023, Sallai András

Szerkesztve: 2024

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Stratégiák

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:

Multi-repo

backend, frontend, asztali stb. külön tárolók

Mono-repo

Egyetlen tároló, azon belül könyvtár szinten külön van választva a backend, frontends stb.

Monolithic

Minden egyeben

Multi-branch

Minden rész egy külön branc

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.

Multi-repo

Ahány rész, annyi Git tároló.

app01/
|-api/
| `-.git/
|-desktop/
| `-.git/
|-mobil/
| `-.git/
`-web/
`-.git/

Mono-repo

Minden rész, egyetlen Git tárolóban van.

app01/
|-.git/
|-api/
|-desktop/
|-mobil/
`-web/

Monolithic

Minden rész egyetlen könyvtárban van, de azok nincsenek szét választva külön könyvtárakra.

Nem ajánlott!

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.

Több branch

A több részből álló projektet megoldhatjuk több branch használatával is.

^
|-mobil
|-desktop
|-frontend
|-api
|
master