【发布时间】:2010-10-24 00:37:34
【问题描述】:
我有一个 git 超级项目,它引用了几个子模块,我正在尝试锁定一个工作流程,以便我的项目成员在其中工作。
对于这个问题,假设我的超级项目称为supery,子模块称为subby。 (然后是对我正在尝试做的事情的简化......我实际上并没有将分支用于版本,但我认为将其作为问题进行布局是最容易的。)
supery 的主分支有 git 项目 subby 的标签 v1.0 作为子模块引用。 supery的分支叫one.one,将子模块的引用改为指向subby的标签v1.1。
我可以毫无问题地在这些分支中的每一个中工作,但是如果我尝试使用来自 master 分支的更改来更新 one.one 分支,我会收到一些冲突,但我不知道如何解决它们。
基本上在subby 分支中运行git pull . master 之后,它看起来像是创建了额外的子模块。
在拉取/合并之前,我从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,它会忽略我的子模块?
【问题讨论】:
标签: git branch git-submodules conflict