( enpassant | 2017. 02. 12., v – 21:02 )

Az eredeti cikkben ez szerepel:

A Git viszont elosztott verziókezelő, lényege, hogy minden kliens rendelkezik a teljes repóval a helyi gépen - ez elképzelhetetlen lenne egy Windows méretű projekt esetében, csak a szinkronizálás néhány száz gigabájt, a változások keresése pedig perceket vesz igénybe.
Az egyik első ötlet a komponensekre bontás, vagyis a teljes projekt helyett egy-egy komponens képezzen egy-egy repót (kódtárat). Ez nagyon jól működik moduláris rendszerek (például microservice-alapú backend) esetében, egy szorosan összefüggő kódbázisnál azonban nem jó megoldás.

Az első ötletnél kellett volna maradniuk! Komponensekre bontás még monolitikus rendszereknél is nagyon jól működik. Minél jobban csökkentjük a függőségeket, annál könnyebben átlátható, stabilabb kódot kapunk.
Ha pl. csak veszünk egy tetszőleges Linux vagy BSD alapú OS-t, akkor látható, hogy ott sikerült több tízezer komponensre bontani.