2011-11-27 39 views

回答

2

git reflog在重置之前,應顯示之前由HEAD引用的提交。
git reflog, your safety net

將「Undoing a git reset --hard HEAD~1」作爲具體示例。
您也可以嘗試,單獨git log,該-g選項:

-g, --walk-reflogs 

代步提交祖先鏈,走引用日誌條目從最新的內容向舊的

後所有,git reflog可以由git log -g --oneline完成。

git log --walk-reflogs master # show reflog entries for master 

OP rFactor補充說:

我可以過濾掉一切,除了合併和提交reflogs?例如,我想擺脫CheckoutUpdating HEAD

我不明白如何在不過濾輸出的情況下實現這一目標。
Jefromi贊同這一意見:

git reflog ... | grep -v 'checkout:\|updating HEAD' 

而且你搞清楚之後,你希望看到什麼承諾,你就可以使用正常登錄:

git log [email protected]{7} 
# or 
git log <SHA1> 
+0

有沒有一種方法可以讓我強制'git log'來顯示它? – Tower

+0

@rFactor:我已經更新了關於'git log'的答案。 – VonC

+0

有趣。還有一件事,我可以過濾除合併和提交reflogs之外的所有內容嗎?例如,我想擺脫Checkout和更新HEAD。 – Tower

相關問題