0

我在 GitHub 上创建了一个存储库,其中包含我每天通过命令更新的区块链数据库文件夹的快照:

git pull
git fsck
git prune
git add .
dt=$(date '+%d/%m/%Y');
git commit -a -m "$dt"
git push

此存储库稍后用于使用该git clone -b main --depth 1 --single-branch https://github.com/myrepository/repository.git命令进行快速同步。

问题是正在更新存储库的服务器端的 .git 文件夹比区块链文件夹的实际大小大得多 x 倍。除了删除和重新创建存储库之外,这是否有机会减小大小?

4

1 回答 1

1

Git 在每个提交中逻辑地存储每个文件的完整快照。然而,因为以天真的方式这样做会非常低效,Git 使用一些技术来减少数据的大小,最显着的是压缩和 deltification。

您的数据可能不是很冗余,因此不会很好地分解或压缩;对于加密输出尤其如此,它应该与随机无法区分。这意味着像git gc和这样的操作git repack都需要很长时间,而且在减少数据大小方面也不是很有效。

在这种情况下,Git 不是一个好工具,最好使用更适合数据结构的不同工具。如果您的存储库继续以这种方式增长,由于其病态结构,它可能会超过 GitHub 的维护超时,然后 GitHub 会要求您将其删除。

于 2022-01-29T01:56:20.597 回答