的所有歷史比方說,我目前的git日誌看到的git
commit3
commit2
commit1
我的頭復位到commit2。
現在我想回去提交3,但我忘記 commit3的sha-1,所以我想看看日誌,但「git log」只會顯示commit2,commit1,我的問題是如何重置爲提交3還是讓日誌顯示也提交3現在?
感謝
的所有歷史比方說,我目前的git日誌看到的git
commit3
commit2
commit1
我的頭復位到commit2。
現在我想回去提交3,但我忘記 commit3的sha-1,所以我想看看日誌,但「git log」只會顯示commit2,commit1,我的問題是如何重置爲提交3還是讓日誌顯示也提交3現在?
感謝
使用git reflog
找到舊的參考,並直接傳遞給git log
。請注意,reflog會定期清除,並且舊提交最終將被刪除,除非它們是分支的一部分 - 如果要撤消提交但將其保留在歷史記錄中,請使用git revert
撤消它們而不將其從歷史記錄中刪除。
命令
git reflog
會告訴你,一直是HEAD SHA值的列表。換句話說,它顯示了一個提交列表,它們已經被檢出。在該列表中,您還將看到語法[email protected]{1}
,[email protected]{2}
等。這是解決先前HEAD的一種方法。
我的情況git checkout [email protected]{1}
應該檢出commit3,因爲它是當前HEAD之前的HEAD。
有兩種方法: -
經典:混帳引用日誌
大圖片:) git的日誌--graph --decorate --oneline
或者,如果它的出版,只是創建一個不同的分支在承諾保留。 – Cascabel 2011-01-22 18:51:05