git log與git reflog區別

admin發表於2018-07-31

關於兩個命令的詳細使用方式可以參閱以下兩篇文章:

(1).git log參閱git log指令詳解一章節。

(2).git reflog參閱git reflog用法一章節。

兩個命令都可以檢視操作記錄,但是兩者區別還是較大的。

一.git log:

此命令可以檢視commit提交歷史記錄,程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
$ git log --pretty=oneline

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/31/010401fiegn2ebs7ree6se.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

但是撤銷的提交無法檢視,程式碼如下:

[Shell] 純文字檢視 複製程式碼
$ git reset HEAD^ --hard

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/31/010437ey81ojz08niv2p0z.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

再來檢視歷史提交記錄,程式碼如下:

[Shell] 純文字檢視 複製程式碼
$ git log --pretty=oneline

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/31/010514f0n8tgtnkkfg4t8p.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看到最後一次提交已經不能夠被查詢到。

二.git relog:

此命令檢視到的歷史記錄比較全面,程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
$ git reflog

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201807/31/010552cdo9j7jo907j0x7o.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

相關文章