[英]Git reflog expiration time
我知道刪除了超過90天的 reflog條目。 我沒有對git配置做任何改變。 今天當我做git reflog master --date=local
,我可以看到10個月前的條目。 這怎么可能?我應該只看到可追溯到3個月前的參賽作品?
如果你git gc
用它,Git會定期自動運行git gc
。 但是這個自動GC的時間段並沒有在任何地方定義,事實上,它根本不是基於時間的。 相反,它基於git gc --auto
對存儲庫狀態的快速調查。 此外,它實際上是通過運行其他Git命令開始的,它只是在工作結束時運行git gc --auto
。 那個git gc --auto
然后決定是否運行git gc
,如果是的話, git gc
運行git reflog expire
90天。
在這種情況下,也許你沒有運行git命令運行git gc --auto
,或者git gc --auto
選擇不執行任何操作,持續10個月。 這似乎有點過分, 1所以你更有可能通過將gc.auto
設置為0
來禁用自動GC。 你也可能遇到了一個有趣的錯誤:看看VonC對下面的“另見”問題的回答,這個問題解決了一個讓人咬人的錯誤。
另請參閱導致git gc --auto的所有命令的列表 , 了解git gc --auto ,以及您應該多久使用一次git-gc?
1這有多大取決於存儲庫的活動程度。 一個相當安靜的回購可能不會累積足夠的松散物體來制作git gc --auto
做了好幾個月的事情; 一個忙碌的人會經常需要自動gc。
怎么可能?
非常簡單的解釋 - 如果你不經常運行git reflog expire
或git gc
,這是可能的。 如果您這樣做並且他們仍在那里,請修改您的問題。 不,就是這樣。
輸入git gc
並看到它們消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.