Trabalhando com Mudanças em Submódulos
Às vezes, você precisa trabalhar com mudanças dentro de um submódulo. Nesta etapa, aprenderemos como fazer e gerenciar mudanças dentro de submódulos.
Navegando para o Submódulo
Para trabalhar com um submódulo, você precisa navegar para o seu diretório:
cd ~/project/main-repo/libs/libgit2-backends
A partir daqui, você pode usar comandos Git padrão para visualizar informações sobre o repositório do submódulo:
git status
git log -3 --oneline
O comando git status mostra o estado atual do repositório do submódulo, e git log mostra os commits recentes.
Fazendo Mudanças em um Submódulo
Vamos fazer uma mudança simples em um arquivo no submódulo. Primeiro, vamos criar um novo arquivo:
echo "## My notes on libgit2-backends" > NOTES.md
Agora vamos verificar o status da nossa mudança:
git status
Você deve ver uma saída indicando que você tem um arquivo não rastreado:
Untracked files:
(use "git add <file>..." to include in what will be committed)
NOTES.md
Vamos adicionar e commitar essa mudança ao submódulo:
git add NOTES.md
git commit -m "Add notes file"
Você deve ver uma saída confirmando seu commit dentro do submódulo.
Verificando o Status do Repositório Principal
Agora, vamos voltar ao repositório principal e verificar o status:
cd ~/project/main-repo
git status
Você deve ver uma saída indicando que o submódulo foi modificado:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: libs/libgit2-backends (new commits)
Commitando Mudanças no Submódulo no Repositório Principal
Para registrar o novo estado do submódulo em seu repositório principal, você precisa adicionar e commitar as mudanças:
git add libs/libgit2-backends
git commit -m "Update libgit2-backends with notes file"
A saída deve indicar que você committou com sucesso a nova referência do submódulo.
Visualizando Mudanças Detalhadas no Submódulo
Para ver informações mais detalhadas sobre as mudanças nos submódulos, você pode usar:
git diff --submodule
Este comando mostra a faixa de commits que foram adicionados ou removidos em cada submódulo alterado.
Resumo de Como Trabalhar com Mudanças em Submódulos
Ao trabalhar com mudanças em um submódulo, lembre-se deste fluxo de trabalho:
- Navegue para o diretório do submódulo
- Faça e commite as mudanças dentro do submódulo
- Retorne ao repositório principal
- Adicione e commite a referência do submódulo atualizada
Este processo de commit em duas etapas (primeiro no submódulo, depois no repositório principal) é essencial para rastrear corretamente as mudanças nos submódulos.