1. 程式人生 > >Git教程之如何版本回退

Git教程之如何版本回退

一、前言

上一章節,我們已經學會了如何建立版本庫,如何提交檔案到版本庫,如何檢視最近提交檔案的記錄,那麼如果現在我們想回退版本怎麼操作呢?

二、步驟

①現在繼續對readme.txt檔案進行修改,再增加一行,內容為33333333。繼續執行命令如下:

  Git教程之如何版本回退的照片 - 1

②對readme.txt檔案做了三次修改,現在想檢視下歷史記錄,如何查呢?我們現在可以使用命令 git log 如下所示:

 
Git教程之如何版本回退的照片 - 3

git log命令顯示從最近到最遠的顯示日誌,我們可以看到最近三次提交,最近的一次是,增加內容為33333333.上一次是新增內容22222222,第一次預設是 11111111.如果嫌上面顯示的資訊太多的話,我們可以使用命令 git log –pretty=oneline 演示如下:

  Git教程之如何版本回退的照片 - 5

③現在我想使用版本回退操作,我想把當前的版本回退到上一個版本,要使用什麼命令呢?可以使用如下2種命令,第一種是:git reset –hard HEAD^ 那麼如果要回退到上上個版本只需把HEAD^ 改成 HEAD^^ 以此類推。那如果要回退到前100個版本的話,使用上面的方法肯定不方便,我們可以使用下面的簡便命令操作:git reset –hard HEAD~100 即可。未回退之前的readme.txt內容如下:

  Git教程之如何版本回退的照片 - 7

如果想回退到上一個版本的命令如下操作:

  Git教程之如何版本回退的照片 - 9

再來檢視下 readme.txt內容如下:通過命令cat readme.txt檢視

  Git教程之如何版本回退的照片 - 11

可以看到,內容已經回退到上一個版本了。我們可以繼續使用git log 來檢視下歷史記錄資訊,如下:

  Git教程之如何版本回退的照片 - 13

我們看到 增加33333333 內容我們沒有看到了,但是現在我想回退到最新的版本,如:有33333333的內容要如何恢復呢?我們可以通過版本號回退,使用命令方法如下:git reset –hard 版本號

但是現在的問題假如我已經關掉過一次命令列或者3333333內容的版本號我並不知道呢?要如何知道增加33333333內容的版本號呢?可以通過如下命令即可獲取到版本號:git reflog 演示如下:

  Git教程之如何版本回退的照片 - 15

通過上面的顯示我們可以知道,增加內容33333333的版本號是f676eae.我們可以使用命令git reset –hard f676eae來恢復了。演示如下:

  Git教程之如何版本回退的照片 - 17

可以看到現在已經恢復到最新的版本了。

至此,我們關於Git教程之如何版本回退介紹完畢。

原文地址:http://www.marsitman.com/git/git-back-respository.html (轉)