0Pricing
DevOps Bootcamp · Lezione

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/shared

Il 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-lib

Clonazione 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/app

Inizializzazione dei sottomoduli esistenti

Se ha già eseguito il clone, recuperi il contenuto dei sottomoduli con init e update.

git submodule update --init --recursive

Aggiornamento 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

  1. Git negli IDE e negli strumenti di sviluppo
  2. Soluzioni Git enterprise
  3. Scalare Git per team numerosi
  4. Monorepo e sottomoduli Git
← Torna a DevOps Bootcamp