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.