[英]Can I flatten out deleted files from a git repository?
“假设在我的历史记录中-我有五个单独的场景,有人要检入100M文件-我宁愿不必每次有人进行克隆时都下载该文件。”
Git已经做到了。 只要文件内容相同,其散列也将相同。 Git使用散列来识别文件,因此文件将解析为相同的散列,并且不会导致空间使用增加。
另一方面,如果文件内容略有不同 ,则可能会或可能不会节省空间,具体取决于它们在git树中的位置以及执行git gc
时所使用的选项的各种详细信息。 (假设文件是可扩散的。二进制文件可能会或可能不会。查找git delta压缩。)
综上所述,git在许多方面都无法与大型二进制文件配合使用(我假设100 MB文件是二进制文件,尽管可能不是),并且您可能想看看git large files
东西其他在git内以支持大文件,或git以外的scm。
好的-这是要检查的事项列表:
您可以运行:
git gc
您可以使用以下方法获取信息:
git count-objects -v
这里有一个git-fatfiles脚本。
这是用于在新仓库中重新创建所有分支的脚本。
使用此功能,您可以列出大对象并对其进行排序:
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k3n
使用此方法,您可以找到哪个提交具有占据空间的Blob。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.