• how to restore 'git reset –hard' operations


    how to restore 'git reset –hard' operations

    1 emulate git reset –hard

     

    1.1 generate two commits

    $ mkdir tt; cd tt
    $ git init
    $ touch foo.txt
    $ git add foo.txt
    $ git commit -m "init"
    $ echo "data" >> foo.txt
    $ git commit -a -m "data"
    

    1.2 check the commits

    tt$ git log --pretty=oneline 
    48152f95f5e993ab167a02e76b43fa998c40b750 data
    a8daade8ffd7a4ccf23b145c7a380391068e8ed2 init
    

    1.3 reset –hard to the first commit

    tt$ git reset --hard a8daade
    HEAD is now at a8daade init
    
    tt$ git log --pretty=oneline 
    a8daade8ffd7a4ccf23b145c7a380391068e8ed2 init
    

    2 restore to the second commit (lost after 'git reset –hard')

     

    2.1 check reflog

    reflog will note down all HEAD history. The 'reset', 'checkout' operations will be noted in reflog.

    tt$ git reflog 
    a8daade HEAD@{0}: reset: moving to a8daade
    48152f9 HEAD@{1}: commit: data
    a8daade HEAD@{2}: commit (initial): init
    

    2.2 restore

    tt$ git reset --hard 48152f9
    HEAD is now at 48152f9 data
    
    tt$ git log --pretty=oneline 
    48152f95f5e993ab167a02e76b43fa998c40b750 data
    a8daade8ffd7a4ccf23b145c7a380391068e8ed2 init
    
     
  • 相关阅读:
    Thinkphp框架网站 nginx环境 访问页面access denied
    jenkins 构建触发器 Poll SCM 和 Build periodically区别
    jenkins持续化集成工具 centos 6.5安装
    centos 6.5升级内核到3.1
    awk常见用法
    html手机网页自适应宽度
    centos 6.8安装java环境
    论mysql主从复制里面的那些坑
    redis持久化
    spring配置日志
  • 原文地址:https://www.cnblogs.com/aqing1987/p/5387039.html
Copyright © 2020-2023  润新知