git - 如何重置到 merge 提交之前的状态?

标签 git git-merge

我已经解决了一些冲突并提交了 merge 。是否可以准确恢复运行之前的 merge 状态git commit ,不改变索引或工作树?对于常规单父提交,执行此操作的命令是 git reset --soft HEAD^ ,但对于 merge 提交,它无法按预期工作,因为没有单个父级可以重置。

最佳答案

我认为这不受支持,但您可以通过执行 git reset --soft HEAD@{1} 来伪造它,然后写入要 merge 到 的提交 ID .git/MERGE_HEAD.

不过,您将丢失提交消息(“将提交'cafebab' merge 到HEAD中”)。

关于git - 如何重置到 merge 提交之前的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41983539/

相关文章:

`--preserve-merges` 的 Git 选项?

git - 将 URL 的分支 'X' merge 到 X

android - 从git中删除构建文件夹

git config 用户名和电子邮件设置为自动空白

git - GIT : I've got no branch! 吓坏我的生活

git - merge 后继续git分支是否常见?

git - 使用 Git,是否可以为多个开发人员之间的单个 merge 拆分 merge 冲突解决方案?

子模块中的 Git 配置 "bad config file line"

git - 暂时从 git 中取消跟踪文件

Git:将工作分支 merge 到 master 的最快方法是什么?