Como funciona o submódulo Git?

Como funciona o submódulo Git?
O Git Submodule é um subdiretório ou componente Git de outro host, repositório Git, que simplesmente se refere a um compromisso específico em outro repositório externo do Git. Os submódulos são estáticos e acompanham apenas as confirmações específicas. Eles não rastreiam as filiais ou árbitros git e não são atualizados automaticamente com o repositório host. Os submódulos Git permitem que você permita que o repositório Git incorpore e rastreie o histórico da versão de todo o código externo. Quando um usuário inclui um submódulo para um repositório Git, um novo arquivo com o nome .Os gitmodules criarão.

Neste artigo, daremos a você uma idéia sobre como usar submódulos Git em um repo Git externo no sistema Linux.

Pré -requisitos

Verifique se o Git já está instalado em seu sistema.

Para verificar a instalação do Git, digite o seguinte comando em seu terminal:

$ git -version


Implementamos todos os comandos relacionados a submódulos Git na distribuição do CentOS 8 Linux que discutiremos em detalhes nas etapas abaixo mencionadas:

Quando os submódulos git devem ser usados?

Para gerenciamento de versão estrita das dependências externas do seu projeto, você pode usar os recursos do Git Submodules. A seguir, estão os cenários para onde você pode usar os submódulos Git:

  • Quando um subproject ou componente externo está mudando rapidamente, ou as próximas mudanças podem quebrar a API configurada, então, nessa situação, bloquear o código para uma confirmação específica para a segurança do seu projeto.
  • Quando você tem um projeto específico com terceiros e eles desejam integrar um novo lançamento dentro do seu projeto.

Adicionar novo submódulo Git

O comando Git Submodule Add é usado para adicionar um novo submódulo a um repositório Git existente. Abra o terminal do painel da barra lateral esquerda no sistema CentOS 8. Usando o exemplo a seguir, podemos explicar melhor, no qual criaremos um novo repositório Git vazio e depois adicionar submódulos Git.

$ mkdir git-submodule-Demo
$ CD Git-Submodule-Demo/
$ git init


Nos comandos acima mencionados, primeiro, criamos um novo diretório com o nome 'Git-submodule-deMo' e navegamos neste diretório. Inicializamos este diretório como um novo repositório Git.

Agora, adicione um novo submódulo Git usando o comando 'Git submodule add', no qual usamos URL como um parâmetro que se refere a um repositório Git específico. Adicionamos um submódulo 'Awesomelibrary' no repositório recém -criado acima.

$ git submodule add https: // bitbucket.Org/Jaredw/Awesomelibrary


Git vai clonar este submódulo. Depois que o processo do submodule for concluído, você pode verificar o status atual do seu repositório Git executando o seguinte comando:

$ git status


Quando você executa o comando acima do terminal do CentOS 8, você notará que dois novos arquivos estão neste repositório. Um é '.Gitmodules 'e' Awesomelibrary '. Agora, você pode comprometer esses arquivos no repositório Git original executando os comandos 'Git Add' e 'Git Commit'.

$ git add .Gitmodules Awesomelibrary/
$ git Commit -M "Adicionado submódulo"

CLONE GIT SUFódulos

Clone os submódulos usando o comando GSIT Clone. O comando abaixo criará diretórios que contêm submódulos, mas você não pode ver o arquivo dentro deles.

$ git clone https: // bitbucket.org/jaredw/awesomelibrary/submódulos


Existem dois comandos adicionais usados ​​para criar arquivos submoduleos. Um é o '.Git submodule init 'que copia'.Gitmodules 'mapeando o local'.arquivo git/config '. O comando 'Git Submodule Update' atualiza todos os dados do projeto Submodule e verifica as alterações no projeto pai.

$ git submodule init
Atualização do submódulo $ Git


Agora, navegaremos para o diretório submódulo Awesomelibrary. Vamos criar um arquivo de texto com o nome 'new_awesome.txt 'adicionando algum conteúdo.

$ CD Awesomelibrary/
$ git checkout -b new_awesome
$ echo "novo arquivo incrível"> new_awesome.TXT
$ git status


Aqui, adicionaremos e cometeremos alterações a este novo arquivo no submódulo.

$ git add new_awesome.TXT
$ git Commit -m "Adicionado novo arquivo de texto incrível"


Agora, navegue para o repositório pai e revise o status do repositório pai.

$ CD…
$ git status


Como você pode ver, 'Awesomelibrary' foi modificado.

Conclusão

Vimos neste artigo que, usando o submódulo Git, você pode usar facilmente o repo Git como uma ferramenta de gerenciamento de dependência externa. Acompanhe com os usos e desvantagens dos submódulos Git antes de implementar esse recurso Git e depois adotá -lo.