Git教程-版本回退

Git教程-版本回退

版本回退

1.對readme.txt修改了三次分別提交,git log查看歷史記錄:

$ git log
commit 509c3909cd3867071d3943ad5d40b920087cf13f (HEAD -> master)
Author: lky <[email protected]>
Date:   Thu May 23 16:56:54 2019 +0800

    append GPL

commit 31e52208868f209c92b5ca7d8d27100a9b4e9220
Author: lky <[email protected]>
Date:   Thu May 23 16:27:33 2019 +0800

    add distributed

commit f19662ee401c96f4417d347c46090ff0ed70bd5a
Author: lky <[email protected]>
Date:   Thu May 23 15:52:08 2019 +0800

    wrote a readme file

  1. git log --pretty=oneline輸出簡要信息
$ git log --pretty=oneline
509c3909cd3867071d3943ad5d40b920087cf13f (HEAD -> master) append GPL
31e52208868f209c92b5ca7d8d27100a9b4e9220 add distributed
f19662ee401c96f4417d347c46090ff0ed70bd5a wrote a readme file

  1. 前面的數字是Git的commit id。
    當前的最新版本是append GPL,想要回到add distribute版本,使用$ git reset --hard HEAD^命令,其中HEAD是當前版本,HEAD^ 是上一個版本,HEAD^^是上上個版本,往上第100個版本是HEAD~100.
$ git reset --hard HEAD^
HEAD is now at 31e5220 add distributed

  1. 此時的readme.txt中已經是add distributed那一版。
    想要再恢復到append GPL這一版,可以用git reset --hard 509c3,其中509c3是commit id的前幾位。當不知道這個id但是又想回復到新版本時,使用git reflog命令可以查看每一次的命令, 可以看到append GPL當前的id
$ git reflog
31e5220 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
509c390 HEAD@{1}: reset: moving to 509c3
31e5220 (HEAD -> master) HEAD@{2}: reset: moving to HEAD^
509c390 HEAD@{3}: commit: append GPL
31e5220 (HEAD -> master) HEAD@{4}: commit: add distributed
f19662e HEAD@{5}: commit (initial): wrote a readme file

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章