试图将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~1
和commit
几个突出的更改来解决此问题。合并是完美的选择。
出了什么问题?
答案 0 :(得分:1)
git merge branch-1000 dev
不会将branch-1000
与dev
合并。
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
都说您“在”上(填写空白)。