Monorepo e sottomoduli Git
Impari a valutare i compromessi tra configurazioni monorepo e multi-repository e come i sottomoduli Git incorporano un repository all’interno di un altro.
Monorepo e sottomoduli Git è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Monorepo o multi-repo
Un monorepo memorizza molti progetti in un unico repository. Una configurazione multi-repo mantiene ogni progetto nel proprio repository. Entrambe le soluzioni sono comuni nei progetti di grandi dimensioni.
Perché i team scelgono i monorepo
I monorepo rendono semplice:
- Condividere il codice tra i progetti
- Eseguire refactoring atomici tra confini diversi
- Usare una sola CI e un unico schema di versionamento
Le difficoltà dei monorepo
I monorepo di grandi dimensioni possono diventare enormi, rallentando i clone e la CI. Strumenti come lo sparse checkout e le cache di build aiutano a gestirli.
Che cos'è un sottomodulo
Un sottomodulo è un repository Git separato incorporato in un altro repository a uno specifico commit. Il repository esterno tiene traccia del commit del repository interno da utilizzare.
Aggiunta di un sottomodulo
Incorpori un repository esterno in un percorso con git submodule add.
git submodule add https://github.com/org/shared-lib libs/sharedIl file .gitmodules
Git registra il percorso e l'URL di ogni sottomodulo in un file .gitmodules tracciato, nella radice del repository.
[submodule 'libs/shared']
path = libs/shared
url = https://github.com/org/shared-libClonazione con i sottomoduli
Un clone normale lascia vuote le cartelle dei sottomoduli. Utilizzi il flag ricorsivo per recuperarli.
git clone --recurse-submodules https://github.com/org/appInizializzazione dei sottomoduli esistenti
Se ha già eseguito il clone, recuperi il contenuto dei sottomoduli con init e update.
git submodule update --init --recursiveAggiornamento di un sottomodulo
I sottomoduli rimangono ancorati a un commit. Per passare all'ultima versione, esegua l'aggiornamento al loro interno e registri il nuovo puntatore nel repository padre.
git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'Sottomoduli e subtree a confronto
git subtree è un'alternativa che unisce direttamente il contenuto di un altro repository, evitando la complessità dei puntatori ancorati, ma perdendo una separazione netta.
Scelta dell'approccio
Utilizzi un monorepo per progetti strettamente correlati, i sottomoduli per incorporare una libreria condivisa ma con versionamento indipendente e più repository quando i team sono completamente autonomi.
Verifica rapida
Verifichi la comprensione di monorepo e sottomoduli.
Riepilogo
Ha imparato a conoscere monorepo e sottomoduli:
- I monorepo centralizzano molti progetti; i repository multipli li separano
- I sottomoduli incorporano un repository ancorato a un commit tramite
.gitmodules - Cloni con
--recurse-submodules - Subtree è una strategia alternativa per incorporare contenuti
Domande Frequenti
La lezione «Monorepo e sottomoduli Git» è gratuita?
Sì — il testo completo di «Monorepo e sottomoduli Git» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Monorepo e sottomoduli Git»?
Impari a valutare i compromessi tra configurazioni monorepo e multi-repository e come i sottomoduli Git incorporano un repository all’interno di un altro. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Monorepo e sottomoduli Git»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Git negli IDE e negli strumenti di sviluppo
- Soluzioni Git enterprise
- Scalare Git per team numerosi
- Monorepo e sottomoduli Git