( _Franko_ | 2020. 07. 06., h – 16:02 )

Például szeretnél külön CI/CD folyamattal kezelni microservice halmazt, amelyek egymástól alapvetően függetlenek vagy maximum lazán csatoltak.

Ilyenkor jön Git esetén a monorepo hell, amikor mindenhez külön repository van, ha forrást vinnél át egyik microservice-ből a másikba, akkor elveszik az előélete az adott forrásrészletnek és/vagy trükközni kell egy csomó eszközzel.

Vagy a másik opció a bigrepository hell, amikor minden egyben van, aztán csak kamillázol, hogy ki csinált micsodát, melyik branch módosult, egyáltalán milyen struktúrába szervezed a dolgaidat, mit jelent ilyenkor a branch, melyik microservice melyik verziója az adott branch, a tag mit takar, mert akár vertikálisan, akár horizontálisan teszed egymás mellé a dolgokat, mindenképpen szopás lesz. Ezt lehet tetézni azzal, hogy egy adott ágra nem tudsz jogot szűkíteni, bíznod kell abban, hogy nem basszák el az egész repót.

Ezen már többször is átrágtuk magunkat, a vége mindig az, hogy vállvonogatás van a Git-only világban.