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