在垃圾收集期间git可以做线性提交增量吗?

时间:2015-11-07 16:39:45

标签: git

git可以在垃圾回收期间生成线性增量历史吗?

a previous question我了解到,在垃圾收集过程中,git重新打包并存储增量,而不是gc之前的完整修订版。我利用这个优势将mysqldump存储为备份,并且免费获得历史记录和数据压缩。

现在我的问题是,现在有很多历史记录(每天一次,几个月),每次它git gc git都会重写整个增量历史记录(更改文件系统上的所有数据) ),这使得异地同步传输所有数据。我希望我的rsyncs只需转移新的增量。

换句话说,有没有办法让git只重新包装尚未包装的东西?

1 个答案:

答案 0 :(得分:0)

请求的功能:

  

...有没有办法让git只重新包装已经包装好的东西?

git repack完全匹配。来自the git-repack reference

  

此命令用于将当前未包含在" pack"中的所有对象组合到一个包中。

在没有任何选项的情况下运行它将打包任何松散(未打包)的对象,但将它们留在磁盘上。可以使用-d选项更改此内容:

  

打包后,如果新创建的包使一些现有包冗余,请删除冗余包。 同时运行git prune-packed以删除多余的松散目标文件。

或者git prune-packed可以手动运行。