Ho un superprogetto git che fa riferimento a diversi sottomoduli e sto provando a bloccare un flusso di lavoro affinché gli altri membri del mio progetto lavorino all'interno.
Per questa domanda, supponiamo che il mio superprogetto venga chiamato supery
e venga chiamato il sottomodulo subby
. (Quindi è una semplificazione di ciò che sto cercando di fare ... In realtà non sto usando i rami per le versioni, ma ho pensato che sarebbe stato più semplice fare una domanda.)
Il mio ramo principale di supery
ha il tag v1.0
del progetto git subby
indicato come sottomodulo. Il ramo di supery
chiamato one.one
e modificato il riferimento del sottomodulo in modo che punti al tag v1.1
di subby
.
Posso lavorare all'interno di ciascuno di questi rami senza intoppi, ma se provo ad aggiornare il one.one
ramo con le modifiche dal master
ramo ricevo alcuni conflitti e non riesco a risolverli.
Fondamentalmente dopo aver eseguito un git pull . master
po 'di tempo nel subby
ramo, sembra che crei sottomoduli aggiuntivi.
Prima del pull / merge, ottengo la risposta desiderata git submodule
dal one.one
ramo:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Ma dopo il pull, aggiunge ulteriori sottomoduli quando corro 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)
Come posso eliminare / ignorare i riferimenti al sottomodulo indesiderati e impegnare i miei conflitti e le mie modifiche? O c'è un parametro che posso usare con il mio originale git pull
che ignorerà i miei sottomoduli?