2014-05-09 43 views

回答

3

當沒有分支引用它們時,提交將不會在git log中顯示,但它們保留一段時間以防止意外丟失工作。有幾個安全層:

  • 承諾只考慮過垃圾收集,如果他們不再引用。這通常發生在如果只有一個分支/ ref引用它們,並且您刪除該ref。
  • 除非配置不同,Git會保留日誌分公司的老態(「引用日誌」)。 Reflog條目最終會過期,但要受到可配置的年齡閾值的限制(實際上有兩個:reflog條目包含可從分支的當前狀態到達的東西,另一個用於不再從分支可到達的東西;默認情況下後者是30天)。在此之前,git gc會保留您的reflog條目,並且不會刪除通過這些reflog條目仍然可以訪問的提交。
  • 即使強制清除推薦日誌,git gc仍然會保留對象,如果它們是在不到兩週前創建的(默認情況下是可配置的)。
  • 畢竟,當你運行git gc對象被物理刪除。

要查看推薦日誌,請嘗試git log -g SOMEBRANCH

3

是的,他們從git的日誌消失,不,他們不從資源庫中消失,直到後來git gc(垃圾收集器)命令。

你仍然可以找到使用git reflog命令這些提交。

相關問題