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
    
     
  • 相关阅读:
    jieba的使用
    如何用python查看自己的电脑有几个核
    NLTK实现文本切分
    nltk的安装和简单使用
    初识NLP 自然语言处理
    mysql 查询存在A表中而不存在B表中的数据
    mysql 导出数据报错: row must be in range 0-65535
    python3 re模块正则匹配字符串中的时间信息
    Python语法速查: 14. 测试与调优
    Python语法速查: 20. 线程与并发
  • 原文地址:https://www.cnblogs.com/aqing1987/p/5387039.html
Copyright © 2011-2022 走看看