如何在未push的git中恢复之前的合并提交

使用场景

当将一分支 test 中的提交修改合并到 dev 分支,合并成功但并没有push到远程库,想要撤回dev分支的合并,恢复到dev分支合并代码之前的装提交状态

使用命令

git reset --hard <哈希值>
git reset --hard HEAD~1
git reset --merge <哈希值>
git reset --merge HEAD~1

使用步骤

Git 重置命令 --hard

  1. 检查提交的哈希或者id,以使用它返回上一个提交

git log 或 git reflog
git reflog更具可读性

  1. 运行命令

git reset --hard <哈希值>

在这里插入图片描述
如果不确定上一次提交的哈希值,你可以运行

git reset --hard HEAD~1

以返回到合并之前的提交
需要注意的是:使用 --hard 标记撤消合并时,任何未提交的更改都将被还原

更安全的标记 --merge

将恢复未提交的更改,Git 提供了一个更安全的标记 --merge

  1. 检查提交的哈希或者id,以使用它返回上一个提交

git log 或 git reflog
git reflog更具可读性

  1. 运行命令

git reset --merge <哈希值>

还可以通过运行

git reset --merge HEAD~1

将 HEAD 关键字与 --merge 标记一起使用

总结

–hard 标记删除未提交的更改
–merge 标记保留未提交的更改

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐