2015-03-13 67 views
1

我如何獲得可以達到的所有內容的列表按日期排序?正常提交,存儲,刪除存儲,刪除分支提交 - 所有尚未被真空化的東西。獲取按日期排序的所有提交列表(包括懸掛提交)

我這麼問是因爲我需要找到一個特定的提交(或藏匿),我不記得了,除了日期時,必須已經添加它。由於我從不運行git gc,我認爲它應該仍然可用。

我還需要看到時間戳每一次提交,因爲我會用它來縮小搜索範圍,只承諾/儲物箱是圍繞我心目中的日期。

編輯:如果不明確,除了正常的搜索以外,我還需要搜索懸掛提交和放置窗格。像How can I make git log order based on author's timestamp?這樣的問題不能解決這個問題。

+0

這裏真正的問題是,'混帳fsck'是你會用它來尋找懸空犯了什麼,但它並不按日期訂購。你只會得到一個SHA(或幾個)懸而未決的提交。 – Makoto 2015-03-13 15:54:45

+0

@Makoto Hm,如果我可以在日誌中獲取日期,我至少可以使用正則表達式來搜索它。我可以嘗試環顧那個月。我寧願按日期排序,但即使讓他們無序也可以幫助開始。 – sashoalm 2015-03-13 15:58:19

回答

1

有一件事是簡單的git refloggit reflog HEAD(這是等價的,第一個只是第二個簡寫)。

的引用日誌跟蹤每次提交一個特定的參考點; HEAD是指向你目前檢查出的內容的參考,所以如果你曾經在這臺機器上檢查過這個提交,而且它還沒有被gc'd,它應該顯示在該列表中。

+0

感謝您的回答,但'git reflog'沒有顯示時間戳,但是,我需要這些來查找我的提交。我會在特定的日期周圍尋找提交。 – sashoalm 2015-03-13 16:02:43

+1

@sashoalm你可以通過任何'git的log'的漂亮格式爲'混帳reflog',所以你可以做'git的引用日誌--pretty = fuller'或包含所需信息的一些自定義格式。在閱讀你的澄清之後,我意識到這件事不會涉及的一件事就是丟棄玻璃瓶; stashes是從未提交過的東西,所以不會在HEAD的reflog中顯示出來,事實上它們只是作爲特殊的reflog存儲的,所以當它們被刪除時,它們將從特殊的reflog中移除。 – 2015-03-13 16:08:04

+0

立即卸下儲物箱嗎?我的意思是他們在某個地方舉行或刪除真正從git下降時? – sashoalm 2015-03-13 16:09:43