zoukankan      html  css  js  c++  java
  • 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
    
     
  • 相关阅读:
    读书笔记--Head First 数据分析 目录
    读书笔记--Head First C#目录
    读书笔记--Head First Networking目录
    读书笔记--Head First JQuery目录
    读书笔记--Head First Python 目录
    读书笔记--Head First JavaScript 目录
    读书笔记--Head First Ajax 目录
    读书笔记--Head First Web设计 目录
    读书笔记--Head First Servlets和JSP 目录
    读书笔记--Head First Java(第2版) 目录
  • 原文地址:https://www.cnblogs.com/aqing1987/p/5387039.html
Copyright © 2011-2022 走看看