我是GIT和Visual Studio Team Services(VSTS,基于云的Team Foundation Server免费版)的新手,我最近刚开始将它用于我们的网站开发。
我担心创建一个版本所花费的时间,检查文件需要花费几分钟,我猜是因为它试图处理大量的对象?对象计数状态为23,909?我在存储库(excl .git文件夹)上完成了一个TreeSize,它显示了以下内容?
也尝试了git gc --aggressive --prune
,但这并没有减少文件数量。
可能存储库中存有大量图像文件但我很确定它们已被删除,因为它们没有在git或VSTS网站上显示?
很高兴有任何帮助!
对于那些感兴趣的人,这是我上次发布的日志。
答案 0 :(得分:0)
可能没什么好害怕的,因为git对象用于存储文件,树和提交对象的所有历史记录。
您可以查看git sizer以更好地查看/计算存储的对象。它可以为您提供存储库大小(文件大小或数量)的提示。
如果您需要清理历史记录(但首先要真正了解其含义!),您可以查看BFG repo cleaner这是一个非常好的工具......
此外,我不确定您的本地对象计数是否代表了其中一个存储库(除非您执行了新的克隆)。
你肯定有很多你在本地创建的对象。
还尝试了git gc --aggressive --prune,但这并没有减少文件数量。
还有一个很好的理由说明它不会缩小尺寸。那是因为reflog保留了很多对象(一本允许修复错误的日志!)。
因此,如果您真的想清除无用的对象,则需要先使用以下方法清除reflog:
git reflog expire --expire=now --all
我担心创建一个版本所花费的时间,检查文件需要花费几分钟,我猜是因为它试图处理大量的对象?
每次在新VM上构建VSTS,因此每次都应该克隆整个存储库:(而不是仅仅获取差异。
如果您不需要整个历史记录(除非您根据git历史记录计算版本,大多数情况下都是这种情况),您可能应该通过将depth
设置为1来进行浅层克隆在您的构建的VSTS git存储库设置中。它将获取更少的对象。
PS:你想用TreeSize完全展示什么?只是你只有3415个文件?