我的 git 存储库有一个庞大的 .pack 文件.有没有办法安全地删除它



我对 git 内部知之甚少,但我确实看到有一个 .pack 文件特别占用方式,比我的 .git 目录中的其他文件占用空间多得多(存储库的 9 GB 中的 30 GB)。有什么方法可以在不失去存储库完整性的情况下安全地摆脱它吗?

packfile 是 git 中一种节省空间的机制。

每当提交对文件的更改时,都会创建新对象,其中包含新文件和旧文件之间的更改。这意味着当提交文件的新版本时,git 不必存储文件的多个副本。

从 git-scm.com:

包文件是包含从文件系统中删除的所有对象内容的单个文件。索引是一个文件,其中包含该包文件中的偏移量,因此您可以快速查找特定对象。很酷的是,尽管在运行 gc 之前磁盘上的对象总体大小约为 22K,但新的 packfile 只有 7K。通过打包对象,您将磁盘使用量减少了 2/3。

如果您对节省空间感兴趣,这里有一个以前的 SO 答案,描述了如何缩小您的历史记录。然后,您可以运行git gc来重新打包您的包文件(没有"压扁"的对象)。

相关内容

最新更新