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 superye 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 superyha il tag v1.0del progetto git subbyindicato come sottomodulo. Il ramo di superychiamato one.onee modificato il riferimento del sottomodulo in modo che punti al tag v1.1di subby.
Posso lavorare all'interno di ciascuno di questi rami senza intoppi, ma se provo ad aggiornare il one.oneramo con le modifiche dal masterramo ricevo alcuni conflitti e non riesco a risolverli.
Fondamentalmente dopo aver eseguito un git pull . masterpo 'di tempo nel subbyramo, sembra che crei sottomoduli aggiuntivi.
Prima del pull / merge, ottengo la risposta desiderata git submoduledal one.oneramo:
$ 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 pullche ignorerà i miei sottomoduli?