2012-09-16 48 views
0

我想記錄所有提交到Git存儲庫的提交。我對所有提交都感興趣,不僅在我本地檢查過的分支機構中。另外我想查看已經在已被刪除的分支中發生的提交。我需要的只是一個類似於svn log(在Subversion中)的命令。它有可能嗎?如何按時間順序記錄所有Git提交?

+0

可能的重複:http://stackoverflow.com/questions/746684/how-to-search-through-all-commits-in-the-repository – Jessedc

+0

'--walk-reflogs'選項並沒有幫助什麼時候我對本地缺席的分支感興趣 – yegor256

回答

3

我不確定你在問什麼,但我認爲在git世界中是不可能的。

我可以克隆你的回購,並做一些提交。但我沒有義務與你分享。所以有一些你永遠不會知道的提交。同樣,如果我與你分享提交,我可能會在本地提交10次提交,但在將它們發送給你之​​前將它們壓縮爲1次提交。您將無法知道10個原始提交是否存在。

,您可以撥打當地的分支機構,使一些提交,然後刪除該分支沒有回來把它們合併,並git gc可能破壞這些提交永遠,因爲它們不再可達。

因此,有些提交是你永遠不會知道的,或者是因爲有人提出了這些提交,但從未與你分享過,或者是因爲你創建了它們,但後來通過刪除引用它們的唯一分支來使它們可用於垃圾收集。

如果你想查看所有你提交的文件,你需要gitk --all可能是你正在尋找的。它會向您顯示從本地或遠程的所有分支可訪問的所有提交的圖形視圖。同樣,git log --all將向您顯示所有分支可達的所有提交的文本摘要。

如果你正在尋找遠程倉庫的懸掛提交,我不知道如何做到這一點。默認情況下,git fetch僅提取從分支可訪問的提交;您可以指定-t以獲取可從標籤訪問的內容;但我don't think you can fetch the remote reflog

相關問題