3

有谁知道一个项目可以有效地将基于文本的文件的 git 版本控制和大型二进制文件(如数据)的 rsync 结合起来?显然,这有点超出了 DVCS 应该做的事情,但我很好奇是否有人围绕 git 编写了一个智能包装器来做这些事情以与中央存储库同步。

4

2 回答 2

3

你可能喜欢git-annex。从它的主页:

git-annex 允许使用 git 管理文件,而无需将文件内容检入 git。虽然这可能看起来自相矛盾,但在处理比 git 目前可以轻松处理的文件时,它很有用,无论是由于内存、时间或磁盘空间的限制。

即使没有文件内容跟踪,能够使用 git 管理文件、移动文件和使用版本化目录树删除文件,以及使用分支和分布式克隆,都是使用 git 的非常方便的理由。并且附加文件可以与定期版本化的文件共存于同一个 git 存储库中,这便于维护与附加文件关联但受益于完全修订控制的文档、Makefile 等。

于 2012-07-01T14:25:59.853 回答
2

我看到的最后一个叫做bup

bup 是一个备份程序。它是“备份”的缩写。

bup 与其他备份软件相比有一些优势:

  • 它使用滚动校验和算法(类似于 rsync)将大文件分成块。这样做最有用的结果是您可以增量备份巨大的虚拟机 (VM) 磁盘映像、数据库和 XML 文件,即使它们通常都在一个大文件中,并且不会为多个版本使用大量磁盘空间。
  • 它使用来自 git(开源版本控制系统)的 packfile 格式,因此即使您不喜欢 bup 的用户界面,您也可以访问存储的数据。
  • 与 git 不同,它直接写入包文件(而不是具有单独的垃圾收集/重新打包阶段),因此即使无偿大量数据它也很快。bup 改进的索引格式还允许您跟踪比 git 更多的文件名(数百万)并跟踪更多的对象(数百或数千 GB)。
  • 数据在增量备份之间“自动”共享,而不必知道哪个备份基于另一个备份 - 即使备份是由两台甚至不知道彼此的不同计算机制作的。您只需告诉 bup 备份资料,它只保存所需的最少数据量。
于 2012-07-01T13:55:38.073 回答