Eu tenho um superprojeto git que faz referência a vários submódulos e estou tentando bloquear um fluxo de trabalho para o restante dos membros do meu projeto trabalharem.
Para esta pergunta, digamos que meu superprojeto seja chamado supery
e o submódulo seja chamado subby
. (Em seguida, há uma simplificação do que estou tentando fazer ... Na verdade, não estou usando as ramificações para versões, mas achei que seria mais fácil definir como uma pergunta.)
Minha ramificação principal de supery
tem a tag v1.0
do projeto git subby
referenciada como um submódulo. A ramificação de supery
chamada one.one
e alterou a referência do submódulo para apontar para a tag v1.1
de subby
.
Posso trabalhar em cada uma dessas ramificações sem problemas, mas se tentar atualizar a one.one
ramificação com alterações da master
ramificação, recebo alguns conflitos e não sei como resolvê-los.
Basicamente, depois de executar um git pull . master
tempo no subby
ramo, parece que ele cria submódulos adicionais.
Antes do pull / mesclar, recebo a resposta desejada git submodule
da one.one
ramificação:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Mas após a atração, ele adiciona submódulos adicionais quando executo git submodule
:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
Como faço para excluir / ignorar as referências indesejadas do sub-módulo e confirmar meus conflitos e alterações? Ou existe um parâmetro que eu possa usar com o meu original git pull
que ignorará meus submódulos?