如何通过rebase撤销旧提交中误加入的暂存文件修改
Git交互式rebase中错误amend提交的撤销方法
适用场景
你还未执行git rebase --continue离开当前edit模式的节点,操作如下:
步骤1:撤销amend操作
根据你是否需要保留误提交的暂存区修改,选择对应命令:
- 需要保留误提交的修改,执行:
git reset --mixed HEAD~
执行后误提交的改动会回到工作区,目标历史提交会完全恢复到amend前的状态 - 不需要保留误提交的修改,执行:
git reset --hard HEAD~
执行后会直接清空误加的改动,目标历史提交恢复到amend前的状态
步骤2:完成后续操作
- 如果需要继续执行剩下的rebase流程,正常执行
git rebase --continue即可 - 如果要直接终止本次rebase操作,执行
git rebase --abort即可
特殊情况处理
如果你已经完成了整个rebase流程才发现问题,可通过reflog找到rebase操作前的分支提交哈希,执行git reset --hard <rebase前的提交哈希>即可恢复到rebase前的状态。
内容的提问来源于stack exchange,提问作者Marcellvs
相关产品推荐
相关产品推荐

