回退到历史的某一版本

Git 中 HEAD 表示:

  • HEAD表示当前版本,也就是最新的提交的 commit
  • 上一个版本:HEAD^
  • 上上一个版本就:HEAD^^
  • 上 100 个版本:HEAD~100

回退到历史版本有两种姿势:

  1. 使用 HEAD

    $ git reset --hard HEAD^

  2. 使用 commit 编号

    1. 通过 git log 拿到 commit 编号(前 6 位应该就够了)
    2. $ git reset --hard 3628164

恢复到较新的某一版本

回退到旧版本后,在git log就看不到之前较新版的 commit 了

git log 是当你回退到某个版本,此版本之后的记录,就自动抹去了

git reflog 是你提交的完整的命令历史,回退到某个版本,仍然可以查到位于此版本之后的版本号。

这时如果想回到较新的某一版本,可以用下面的姿势:

  1. git reflog 查看你做过的每一次命令, 并获取「较新某一版本」的 commit 编号 fb1bcc7

     hanmeimeideMacBook-Pro:laoma hanmeimei$ git reflog
     35b6e22 HEAD@{0}: reset: moving to HEAD^
     fb1bcc7 HEAD@{1}: commit: add hanmeimei
     35b6e22 HEAD@{2}: commit (initial): init laoma
    
  2. reset 到想要去往的 commit 版本 $ git reset --hard fb1bcc7

results matching ""

    No results matching ""