Git checkout de branch com submodules

21 de janeiro de 2022 (3 anos atrás)1 min. de leitura

Problema

Temos um branch em que adicionamos alguns submodules e precisamos de mudar de branch, seja para fazer merge, seja para trabalhar noutra feature.

Ao tentarmos fazer git checkout nome-do-branch, o git indica que temos ficheiros por enviar, apesar do branch atual estar up to date.

Solução

No caso de apenas precisarem de alterar o branch atual basta:

  • Remover todos os ficheiros existentes na pasta do submodule(s) rm -r caminho/para/a/pasta
  • Alterar o branch git checkout nome-do-branch

Caso seja preciso fazer merge devem de:

  • Remover todos os ficheiros existentes na pasta do submodule(s) rm -r caminho/para/a/pasta
  • Alterar o branch git checkout nome-do-branch
  • Fazer o merge git merge branch-anterior
  • Adicionar os ficheiros dos submodules git submodule update --init --recursive
  • Verificar que tudo funciona
  • Enviar para upstream git push

Continue work as always 😁