Come funziona il sottomodulo Git?

Come funziona il sottomodulo Git?
Il sottomodulo Git è una sottodirectory o una componente Git di un altro host, Repository Git, che si riferisce semplicemente a un commit specifico in un altro repository GIT esterno. I sottomoduli sono statici e tengono traccia solo dei commessi particolari. Non monitorano le filiali o gli arbitri GIT e non vengono aggiornati automaticamente con il repository host. I sottomoduli GIT consentono di consentire al repository Git di incorporare e tracciare la cronologia della versione di tutto il codice esterno. Quando un utente include un sottomodulo in un repository Git, un nuovo file con il nome .Gitmoduli creerà.

In questo articolo, ti daremo un'idea di come utilizzare i sottomoduli GIT in un Repo Git esterno nel sistema Linux.

Prerequisiti

Assicurati che Git sia già installato sul tuo sistema.

Per verificare l'installazione di GIT, digita il seguente comando sul tuo terminale:

$ git -version


Abbiamo implementato tutti i comandi relativi ai sottomoduli GIT sulla distribuzione CentOS 8 Linux di cui discuteremo in dettaglio nei passaggi di seguito:

Quando dovrebbero essere usati sottomoduli git?

Per una rigorosa gestione delle versione delle dipendenze esterne del tuo progetto, è possibile utilizzare le funzionalità di sottomoduli GIT. I seguenti sono scenari per dove è possibile utilizzare sottomoduli GIT:

  • Quando un componente sottoproietto o esterno sta cambiando rapidamente o le prossime modifiche possono rompere l'API configurata, quindi, in questa situazione, bloccare il codice per un particolare commit per il tuo progetto di sicurezza.
  • Quando hai un progetto specifico con una terza parte e vogliono integrare una nuova versione all'interno del tuo progetto.

Aggiungi nuovo sottomodulo Git

Il comando Aggiungi sottomodulo Git viene utilizzato per aggiungere un nuovo sottomodulo a un repository Git esistente. Aprire il terminale dal pannello della barra laterale sinistra nel sistema CentOS 8. Usando il seguente esempio, possiamo spiegare meglio, in cui creeremo un nuovo repository GIT vuoto e quindi aggiungeremo sottomoduli GIT.

$ mkdir git-submodule-demo
$ cd git-submodule-demo/
$ git init


Nei comandi sopra menzionati, in primo luogo, abbiamo creato una nuova directory con il nome "git-submodule-demo" e navigare in questa directory. Abbiamo inizializzato questa directory come nuovo repository Git.

Ora, aggiungi un nuovo sottomodulo GIT utilizzando il comando "Submodulo GIT" in cui abbiamo usato l'URL come parametro che si riferisce a un particolare repository Git. Abbiamo aggiunto un sottomodulo "Awesomelibrary" nel repository di cui sopra.

$ git sottomodulo aggiungi https: // bitbucket.org/jaredw /wesomelibrary


Git clonerà questo sottomodulo. Una volta completato il processo del sottomodulo, è possibile verificare lo stato corrente del repository Git eseguendo il comando seguente:

$ git status


Quando si esegue il comando sopra dato sul terminale CentOS 8, noterai che due nuovi file sono in questo repository. Uno è '.gitmoduli "e" awesomelibrary ". Ora puoi commettere questi file nel repository GIT originale eseguendo i comandi "Aggiungi git" e "git commit".

$ git aggiungi .gitmodules awesomelibrary/
$ git commit -m "sottomodulo aggiunto"

Sottomoduli cloni git

Clona i sottomoduli usando il comando clone GSIT. Il comando seguente creerà directory che contengono sottomoduli, ma non è possibile vedere il file al loro interno.

$ git clone https: // bitbucket.org/jaredw /wesomelibrary/sottomoduli


Ci sono due comandi aggiuntivi utilizzati per creare file di sottomodula. Uno è il '.git sottomodulo init "che copie".Gitmoduli 'mapping nel locale'.file git/config '. Il comando "GIT Submodule Update" aggiorna tutti i dati del progetto del sottomodulo e verifica le modifiche al progetto principale.

$ git sottomodulo init
aggiornamento del sottomodulo $ git


Ora navigeremo nella directory del sottomodulo Awesomelibrary. Creeremo un file di testo con il nome "new_awesome.txt 'aggiungendo alcuni contenuti.

$ cd cd awesomelibrary/
$ git checkout -b new_awesome
$ echo "nuovo file fantastico"> new_awesome.TXT
$ git status


Qui, aggiungeremo e impegneremo le modifiche a questo nuovo file al sottomodulo.

$ git aggiungi new_awesome.TXT
$ git commit -m "ha aggiunto nuovo fantastico file di testo"


Ora, naviga nel repository dei genitori e rivedi lo stato del repository genitore.

$ cd ..
$ git status


Come puoi vedere, "Awesomelibrary" è stato modificato.

Conclusione

In questo articolo abbiamo visto che utilizzando il sottomodulo GIT, è possibile utilizzare facilmente il Repo Git come strumento di gestione delle dipendenze esterne. Passare con gli usi e gli svantaggi dei sottomoduli GIT prima di implementare questa funzione GIT e quindi adottarla.