Git恢复记录和分支恢复

原创
2019/06/22 05:29
阅读数 588

Git通过reflog恢复被删除的分支即回到指定版本

  • 注解,此处用于加强理解
git reflog [查看本地会影响HEAD指针的命令操作记录,这个不会同步到远程仓库]

git reflog -n 10 的结果如下:
    22cf4d6 HEAD@{0}: commit: 测试删除文件, 无意义
    7bed05d HEAD@{1}: checkout: moving from master to lh_test
    c51a619 HEAD@{2}: checkout: moving from lh_test to master
    7bed05d HEAD@{3}: pull origin master: Fast-forward
    7bf1425 HEAD@{4}: checkout: moving from master to lh_test
    c51a619 HEAD@{5}: checkout: moving from lh_test to master
    9d13128 HEAD@{6}: checkout: moving from master to lh_test
    c51a619 HEAD@{7}: checkout: moving from lh_test to master
    9d13128 HEAD@{8}: checkout: moving from master to lh_test
    c51a619 HEAD@{9}: checkout: moving from lh_test to master

  • 恢复删除的分支
恢复流程:
    # 恢复10条操作日志
    1. git reflog -n 10

    # 找到之前commit该分支的部分
    # 如同该句: 9d13128 HEAD@{9}: commit: 测试, 无意义
    2. git branch BranchName 9d13128/HEAD@{9}
    

  • 恢复到指定步骤
恢复流程:
    # 恢复10条操作日志
    1. git reflog -n 10
  
    # 回退到指定版本
    git reset --hard CommitId/HEAD@{n}
    git reset --soft CommitId/HEAD@{n}
    
    git revert HEAD                     //撤销最近一次提交
    git revert HEAD~1                   //撤销上上次的提交,注意:数字从0开始
    git revert 0ffaacc                  //撤销0ffaacc这次提交
    
    rest和revert在本目录的git 代码操作中有详解.
    简单来讲,就是:
        reset通过版本回退,来达到代码的回滚.
        revert通过提交一个新的commit,来达到代码回滚.
    
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部