美文网首页
git rebase成功后,如何撤销

git rebase成功后,如何撤销

作者: zhengxiaolang | 来源:发表于2021-09-07 11:00 被阅读0次

    背景:

    今天执行rebase时候,出现代码冲突,由于粗心,把同事的代码给合没了,虽然只有3行代码,可以快速手动添加回来,
    但是这就多了一个提交记录,那是否可以回到rebase之前的状态,再重新执行一次rebase呢?

    答案:显然是可以的。

    解决思路:

    撤销上一次rebase操作,返回到rebase之前的代码状态,再重新执行rebase操作。

    具体步骤:

    1、执行 git reflog,可以查看所有操作日志:

    826e5e74d1 HEAD@{21}: checkout: moving from feature/1.1.20_3Dplump_forehead_zxl to develop
    98c38fdcc9 (feature/1.1.20_plump_forehead_zxl) HEAD@{22}: rebase (continue) (finish): returning to refs/heads/feature/1.1.20_plump_forehead_zxl
    98c38fdcc9 (feature/1.1.20_plump_forehead_zxl) HEAD@{23}: rebase (continue): 【feature】上传云存储
    90e2132228 HEAD@{24}: rebase (continue): 【feature】3D头
    2b56161c25 (origin/feature/feature_rhinoplasty) HEAD@{25}: rebase (start): checkout 2b56161c25ce4eef460c2e0fd8ffafaff57daa63
    bbc9da41b5 HEAD@{26}: commit: 【feature】上传云存储
    

    从以上记录可以得出信息:
    在分支(feature/1.1.20_plump_forehead_zxl) 进行了rebase,
    执行rebase的节点是 bbc9da41b5 HEAD@{26}
    那么我想回到rebase之前的状态,只要执行命令:

    2、执行命令 git reset --hard 回到初始状态

    git reset --hard HEAD@{26}
    或者
    git reset --hard bbc9da41b5

    3、延伸 git reflog + git reset --hard 可以撤销任何命令,回到你想要的节点。

    相关文章

      网友评论

          本文标题:git rebase成功后,如何撤销

          本文链接:https://www.haomeiwen.com/subject/iobuwltx.html