Git merge不报告子模块更改

时间:2012-03-30 08:53:11

标签: git git-submodules

我有一个名为master和production的2个分支的项目。这两个分支具有包含在子模块plugin1中的依赖关系。在master plugin1中指向最新版本(rev2),而生产分支指向上一次提交(rev1)。

当我将master合并到生产中时,我希望有一个生产分支,现在指向修订版rev2,但它没有。是否有选项可以执行此操作,还是必须手动报告生产分支中的更改?

2 个答案:

答案 0 :(得分:0)

当你在git中进行合并导致子模块更改版本时,它不会自动检查子模块中的新版本。我怀疑如果你这样做:

git status

...它会报告子模块的版本错误。如果是这样,您可以使用以下命令进行更新:

git submodule update

答案 1 :(得分:0)

你可以添加一个会问你的帖子合并钩子,比如this

请注意,git submodule update可以 删除您当地已提交但未推送的更改 ,如果您有以下内容:
引自git manual

  

如果您已经制作并提交,那么运行git子模块更新是不安全的   子模块内的更改,而不先检查分支。他们   将被默默覆盖:   (......后跟一个例子)

HTH