git merge:致命的:我读不到八棵树

时间:2019-07-18 13:32:10

标签: git merge

试图将branch-1000合并到dev中,从而引发以下错误。

$ git checkout dev

$ git merge branch-1000
Trying simple merge with branch-1000
Simple merge did not work, trying automatic merge.
Auto-merging file_a.py
Auto-merging file_b.html
Trying simple merge with dev
fatal: I cannot read more than 8 trees
Merge with strategy octopus failed.

已通过git reset --soft HEAD~1commit几个突出的更改来解决此问题。合并是完美的选择。

出了什么问题?

1 个答案:

答案 0 :(得分:1)

git merge branch-1000 dev不会将branch-1000dev合并。

git merge target (新合并提交将放置的位置)始终是 current 分支。如果要将branch-1000合并到dev中,请使用:

git checkout dev
git merge branch-1000

如果要将dev合并到branch-1000中,请使用:

git checkout branch-1000
git merge dev

您所做的是运行章鱼合并(此操作失败,但使索引处于半合并状态-将branch-1000的尖端提交合并到您的当前提交中) 。然后,您使用了git reset --soft HEAD~1,它清除了正在进行的合并状态 并支持了当前分支的一个提交 (可能不是一个好主意),但是您的索引保持不变;然后git commit,它使用索引中的内容进行普通的非合并提交。所有这一切都发生在您的 current 分支上:当git status说“在分支______上”时,无论哪个git status都说您“在”上(填写空白)。