Git是否记录到任何地方的远程推送历史?
我注意到,我们能够在Microsoft VSTS中查看Git存储库的推送历史记录以及每次推送相关的提交。它甚至显示旧的,过时的提交,由于后来重写了提交历史的强制推送,因此不再存在该提交。这是VSTS专门提供的附加信息,不是Git内置的吗?
答案 0 :(得分:1)
这是因为VSTS的存储库未实现git gc
。即使不再引用这些提交(例如由于强行推动),它们也仍然存在。
答案 1 :(得分:1)
如果您要在下面的屏幕截图中谈论远程推送历史,则不确定我是否完全明白您的意思。
对于本地存储库,您可以查看以下线程:
实际上,当您执行git reflog expire --expire = now --all和 git gc --prune =现在,删除了danglind提交。你可以加倍 通过git fsck --full检查。如果输出未显示提交,则表示 表示没有悬空的提交。
但是您无法对远程git repo执行任何git命令,这应该由this引起,就像Daniel也在上面提到的那样:
我们将提交可达性位图索引推出到VSTS并删除了 下面提到的克隆作弊。克隆将不再下载 无法到达的物体!我们仍然没有真正的对象级git gc 服务器,但克隆大小现在会更小。
本地TFS将在v.Next中获得这些更改(不适用于任何TFS 2017 更新,但是下一个主要版本)。