git reflog用法

admin發表於2018-07-27

reflog是Git操作的一道安全保障,它能夠記錄幾乎所有本地倉庫的改變。

包括所有分支commit提交,已經刪除(其實並未被實際刪除)commit都會被記錄。

總結:只要HEAD發生變化,就可以通過reflog檢視到。

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201807/27/013530bimfhd9e6nhl6dqu.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面截圖只是操作歷史記錄的部分內容。

特別說明:

(1).{n}表示HEAD更改歷史記錄,最近的操作在上面。

(2).通過HEAD{n}語法可以引用存在reflog中的提交。

(3).與HEAD~n功能類似,但HEAD{n}引用的是reflog記錄中的commit提交,而HEAD~n引用是commit提交歷史記錄。

程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
git checkout HEAD@{90}

執行上面的程式碼將會使用指定commit提交的內容覆蓋工作區內容。

相關閱讀:

(1).git checkout參閱git checkout用法詳解一章節。

(2).HEAD參閱Git HEAD是什麼一章節。

reflog歷史篩選和格式:

git reflog與git log用法大致相同,在git log上適用的引數在git reflog基本也是適用的。

程式碼例項如下:

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201807/27/013642zjnninanjos6iezi.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

想要檢視更多關於git reflog命令內容可以參考官方文件:

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

相關文章