git reflog 和git log :no branch git 提交方式

git reflog 和git log的區別,外加git cherry-pick的一種用法

git reflog 能夠查看全部分支的全部操做記錄(包括(包括commit和reset的操做),包括已經被刪除的commit記錄,git log則不能察看已經刪除了的commit記錄git

具體一個例子,假設有三個commit, git st:it

commit3: add test3.cclass

commit2: add test2.ctest

commit1: add test1.c方法

若是執行git reset --hard HEAD~1則 刪除了commit3,若是發現刪除錯誤了,須要恢復commit3,這個時候就要使用git reflogdi

 HEAD@{0}: HEAD~1: updating HEAD
63ee781 HEAD@{1}: commit: test3:q
紅色加粗的便是被刪除了的 commit3,運行git log則沒有這一行記錄co

能夠使用git reset --hard 63ee781將紅色記錄刪除,則恢復了cmmit3,運行git log後能夠看到:錯誤

commit3: add test3.ccommit

commit2: add test2.c分支

commit1: add test1.c

這裏也能夠使用另一種方法來實現:git cherry-pick 63ee781

相關文章
相關標籤/搜索