Git Submodule
consentono di incorporare un repository Git in un altro repository Git come sottodirectory. Questo è utile quando hai un progetto che dipende da una libreria o da un componente esterno. Ecco una guida di base su come utilizzare Git Submodule
:
Aggiungere Submodule
Per aggiungere a Submodule
al repository corrente, vai alla directory principale del repository ed esegui il seguente comando:
git submodule add <URL_repository> <destination_path>
dove <URL_repository>
è l'URL del repository che si desidera incorporare ed <destination_path>
è il percorso della sottodirectory nel repository corrente in cui archiviare il file Submodule
.
Clone Submodule
Dopo aver aggiunto a Submodule
al repository, è necessario clonarlo nel repository esistente. Per clonare Submodule
, eseguire i seguenti comandi:
git submodule init
git submodule update
Il git submodule init
comando inizializza Submodule
e crea un collegamento al repository contenente il sottomodulo. Il git submodule update
comando scarica il codice sorgente di Submodule
e lo aggiorna nella sottodirectory corrispondente
.
Lavorando con Submodule
Una volta Submodule
clonato nel repository, puoi lavorarci come un repository Git indipendente. Puoi effettuare il checkout dei rami, creare commits
e spingere all'interno del file Submodule
.
Per aggiornare il sottomodulo nel repository esistente, eseguire il comando:
git submodule update --remote
Questo comando scarica le ultime modifiche dal Submodule
repository e le aggiorna nella sottodirectory corrispondente.
Rimuovere Submodule
Se non hai più bisogno di Submodule
, puoi rimuoverlo eseguendo i seguenti comandi:
git submodule deinit <submodule_name>
git rm <submodule_path>
Sostituire <submodule_name>
con il nome di Submodule
e <submodule_path>
con il percorso della sottodirectory contenente il file Submodule
. Quindi, devi impegnarti e spingere questo cambiamento.
Git Submodule
aiutarti a gestire le dipendenze e integrare facilmente i sottorepository nel tuo progetto principale. Ti consente di mantenere un codice sorgente separato per Submodule
e di aggiornarlo facilmente quando necessario.