У меня есть суперпроект git, который ссылается на несколько подмодулей, и я пытаюсь заблокировать рабочий процесс, чтобы остальные члены моего проекта могли работать в нем.
Для этого вопроса, скажем, мой суперпроект называется supery
, а подмодуль называется subby
. (Это упрощение того, что я пытаюсь сделать ... На самом деле я не использую ветки для версий, но я подумал, что это будет проще всего изложить в виде вопроса.)
Моя основная ветвь supery
имеет тег v1.0
проекта git subby
, упоминаемый как подмодуль. Ветвь supery
называется one.one
и изменяет ссылку на подмодуль, указывая на тег v1.1
из subby
.
Я могу работать в каждой из этих веток без помех, но если я пытаюсь обновить ветку one.one
с изменениями из ветки master
, я получаю некоторые конфликты, и я не понимаю, как их разрешить.
Обычно после запуска git pull . master
в ветке subby
создается впечатление, что он создает дополнительные подмодули.
Перед извлечением / слиянием я получаю желаемый ответ от git submodule
из ветви one.one
:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Но после вытягивания добавляются дополнительные подмодули, когда я запускаю 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)
Как мне удалить / проигнорировать ненужные ссылки на подмодули и зафиксировать мои конфликты и изменения? Или есть параметр, который я могу использовать с моим исходным git pull
, который будет игнорировать мои подмодули?