我合并了两个分支(使用Eclipse合并工具)。
当我提交时,提交只有一个分支作为父级(原始工作区HEAD)。我将深入研究为什么会发生这种情况,但我现在需要正确地提交(合并中涉及很多工作)。
如何修改提交以包含对其他分支的引用?文件内容现在都很好,我只想让提交有两个父母。
答案 0 :(得分:3)
首先,如果您已经提交,请运行git reset --soft HEAD^
来撤消它。
方法1
在MERGE_HEAD
中创建GIT_DIR
文件(通常为/.git
),其中包含SHA-1
分支的提示(您可以使用git show-ref
获取)正在合并(和一个空行,只是为了模仿git merge
行为)。并照常提交。
方法2
另外,如果您愿意,可以在不搞乱git内部的情况下执行此操作:
.git
目录)某处git reset --hard
git merge branch_to_merge_with --no-commit
.git
目录除外) P.S。如果您使用git merge --squash
选项或MERGE_HEAD
文件以某种方式丢失,则可能会发生这种情况。