我们的 git 流程是定期合并到我们的主分支,以便可以将更改合并回我们最新的功能分支。由于最近几轮从一个分支合并到另一个分支,我们遇到了一个解决方案不明确的问题。
我们有一个包含 19 个子模块的存储库。在合并所有子模块时,我们看到了我们认为的预期输出,告诉我们文件被修改、冲突等。然后当我们到达“根”存储库的合并时,一切都变南了,我们看到了一些以下输出(编辑以仅指出问题)。
warning: Failed to merge submodule projects/foo1 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo2 (commits don't follow merge-base)
warning: Failed to merge submodule projects/foo3 (not fast-forward)
Found a possible merge resolution for the submodule:
931a61165f3b2079523a122477fa5f44c123406d: Comment of last merge
If this is correct simply add it to the index for example by using:
git update-index --cacheinfo 160000 931a61165f3b2079523a122477fa5f44c123406d "projects/foo3"
which will accept this suggestion.
现在,我们可以运行建议的git update-index
命令。它会让 git 为那个子模块感到高兴,但我们以前从未运行过它。在查看没有显示帮助的 foo1 和 foo2 子模块时,这个问题非常糟糕。