git可以在垃圾收集期间生成线性增量历史记录吗?
在a previous question中,我了解到,在垃圾收集期间,git重新打包并存储增量,而不是gc之前的完整修订。我利用这一点将mysqldump存储为备份,并免费获得历史记录和数据压缩。
我现在的问题是,现在有很多历史记录(每天一次,持续几个月),每次git gc git都会重写整个增量历史记录(更改文件系统上的所有数据),这使得异地同步传输所有这些数据。我希望我的rsync只需要传输新的增量。
换句话说,有没有办法让git只重新打包尚未打包的内容?
发布于 2018-01-23 04:50:46
请求的功能:
...有没有办法让git只重新打包尚未打包的内容?
与git repack所做的完全匹配。来自the git-repack reference
此命令用于将当前不在" pack“中的所有对象合并为一个pack。
在没有任何选项的情况下运行,它将打包任何松散的(未打包的)对象,但将它们留在磁盘上。这可以使用-d选项进行更改:
打包后,如果新创建的packs使某些现有packs变得冗余,请删除冗余packs。还会运行git prune-packed来删除多余的松散对象文件。
或者,也可以手动运行git prune-packed。
https://stackoverflow.com/questions/33585116
复制相似问题