簡體   English   中英

檢索Git推送歷史記錄?

[英]Retrieve Git push history?

Git是否記錄推送到任何地方的歷史記錄?

我注意到,我們能夠在Microsoft VSTS中查看Git存儲庫的推送歷史記錄,以及每次推送相關的提交。 它甚至顯示舊的,過時的提交,由於后來重寫了提交歷史的強制推送,因此不再存在該提交。 這是VSTS專門提供的附加信息,不是Git內置的嗎?

這是因為VSTS的回購協議未實現git gc 即使不再引用這些提交(例如由於強行推動),它們也仍然存在。

參考: https : //blogs.msdn.microsoft.com/congyiw/2015/12/14/why-does-cloning-from-vsts-return-old-unreferenced-objects/

如果您在下面的屏幕快照中談論遠程推送歷史,則不確定我是否完全明白您的意思。

在此處輸入圖片說明

對於本地存儲庫,您可以看一下以下線程:

實際上,當您執行git reflog expire --expire = now --all和git gc --prune = now時,danglind提交已被刪除。 您可以通過git fsck --full進行仔細檢查。 如果輸出未顯示提交,則表示沒有懸掛的提交。

但是您無法執行遠程混帳回購協議的Git命令中,這應該引起這個丹尼爾上面也提到:

我們將提交可達性位圖索引推出到VSTS,並刪除了下面提到的克隆作弊方法。 克隆將不再下載無法訪問的對象!。 我們服務器上還沒有真正的對象級git gc,但是現在克隆大小會變小。

TFS本地版本將在v.Next中獲得這些更改(不是在任何TFS 2017更新中,而是在下一個主要版本中)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM