Git变基失败后,如何恢复旧的feature分支my-branch?
变基后恢复feature分支到原有状态
在my-branch分支执行git rebase master完成变基后,若对结果不满意,希望将分支恢复到以提交C为父节点的原有状态(变基前的提交链),而非当前指向的E'---H',可按以下方式处理:
提交历史对比
Before After A---B---C---F---G (master) A---B---C---F---G (master) \ | \ D---E (HEAD my-branch) \ E'----H' (my-branch, HEAD) \ \---E-----H (ORIG_HEAD)
正确恢复方法
直接执行以下命令即可将my-branch恢复到变基前的状态:
git reset --hard ORIG_HEAD
常见操作误区
若先执行git checkout ORIG_HEAD,会进入分离头指针状态,此时my-branch仍指向变基后的E'---H'。但直接执行git reset --hard ORIG_HEAD会让当前分支(my-branch)直接切换到ORIG_HEAD对应的提交,无需担心分离头问题。
内容的提问来源于stack exchange,提问作者glades
相关产品推荐
相关产品推荐

