我有一个 git 超级项目,它引用了几个子模块,我试图锁定一个工作流程,让我的项目成员在其中工作。
对于这个问题,假设我的超级项目被调用supery
并且子模块被调用subby
。(然后是我正在尝试做的事情的简化......我实际上并没有将分支用于版本,但我认为最容易提出问题。)
我的 master 分支将 git 项目supery
的标签作为子模块引用。的分支调用并将子模块的引用更改为指向 的标签。v1.0
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
它会忽略我的子模块?