Si suppone che si commettano modifiche al genitore quando cambiano i sottomoduli?

4

Ho notato un comportamento strano quando lavoravo con i sottomoduli in Git, il che forse non è così strano per chiunque abbia più esperienza di me. Bene, quello che sto notando è che ogni volta che apporto modifiche a qualcuno dei miei sottomoduli, tali cambiamenti sembrano mettere in scena una sorta di modifica per un commit dal repository principale che contiene tutti i sottomoduli ... (non è sicuro se è molto chiaro)

Dovrei commettere il mio repository principale ogni volta che apporto modifiche ai sottomoduli? Lo sto facendo, ma cosa succede se non lo faccio?

    
posta Snoop 13.02.2017 - 16:25
fonte

1 risposta

5

Concettualmente, un sottomodulo Git non è un sotto-repository che è incluso nel repository principale. Invece, un sottomodulo è un puntatore a una specifica revisione di un altro repository. Oltre a questo puntatore, tutti i repos sono completamente indipendenti.

Il repository padre memorizza solo questo puntatore di revisione. Pertanto, quando esegui una revisione diversa di un sottomodulo (ad esempio mediante il commit delle modifiche), devi anche impegnare il nuovo valore del puntatore di revisione nel repository padre.

Questo significa che usare i sottomoduli è abbastanza complicato per rappresentare diverse parti di un progetto, e funziona molto meglio quando si sta vendendo un progetto diverso nell'albero dei sorgenti. Cioè visualizzare i sottomoduli come un tipo molto basilare di sistema di gestione delle dipendenze. Dovresti impegnare un nuovo puntatore di revisione del sottomodulo sul repository principale se vuoi includere una nuova versione di tale dipendenza.

Quando si progetta un'architettura di repository Git, questo rende i sottomoduli poco interessanti per le parti in rapida evoluzione del progetto, e meglio per le librerie abbastanza stabili con un ciclo di rilascio più lento. Se diverse parti cambiano insieme, tenerle insieme in un unico repository coesivo è probabilmente meglio.

    
risposta data 13.02.2017 - 16:38
fonte

Leggi altre domande sui tag