为什么不提交遵循merge-base错误?

Pet*_*ter 11 git git-merge git-submodules

我们对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.
Run Code Online (Sandbox Code Playgroud)

现在,我们可以运行建议的git update-index命令.这将使git对这一个子模块感到高兴,但我们以前从未必须运行它.在查看没有显示帮助的foo1和foo2子模块时,问题非常严重.

Ajo*_*joy 1

如果OP下面的评论他的问题消失了:

对于浏览这篇文章的人来说,虽然我不能 100% 确定发生了什么,但我相信这是由于用户手动从其根存储库中删除了 GIT_MERGE 文件并推送所致。通过手动合并各个子模块,推送更改然后在根子模块中运行

git commit -i -m "blah" .
Run Code Online (Sandbox Code Playgroud)

我们似乎解决了这个问题吗?Git 从未声称我们需要在根子模块中提交,但看来我们确实需要这样做。到目前为止,后续合并似乎工作正常。