我们需要将二进制文件(主要是大小在几KB到几MB之间的MS Word文档)存储在一个包含100个“项目”的版本控制库中。目前我们使用的是Visual Source Safe,但存在一些问题,数据库有时会崩溃且访问速度慢。
我们正在考虑迁移到Git或Subversion,想知道哪个更适合处理二进制文件。
我们需要将二进制文件(主要是大小在几KB到几MB之间的MS Word文档)存储在一个包含100个“项目”的版本控制库中。目前我们使用的是Visual Source Safe,但存在一些问题,数据库有时会崩溃且访问速度慢。
我们正在考虑迁移到Git或Subversion,想知道哪个更适合处理二进制文件。
Subversion尝试自动检测二进制文件(详见SVN FAQ)。如果失败,您必须自己指定它们(您也无法更改SVN的检测方法)。
Git也是这样做的,您可以通过在源代码库中包含.gitattributes文件来指定要自动处理为二进制文件的文件。
这里是Git和SVN二进制文件处理的比较。
这里是一些其他Stack Overflow成员在处理Git和二进制文件方面所做的工作。
希望这有所帮助!
我们在任何方面都使用Git。真的是任何方面。甚至我们办公室的整个文件共享都保存在Git中(系统管理员每天提交)。
那个共享几乎完全是二进制文件 - Word文档、QuickBooks等...
我们对所有事情都有100%准确的历史记录。而且偶尔用git gc
使存储库大小可管理。
此外:Git速度真的很快。当我们从SVN切换到Git时,使用模式(具有20,000多个文件的大型项目)下的Git
比subversion
快了约10倍。
Subversion,无疑。今天(2009年),TortoiseSVN提供了集成于资源管理器的Subversion库导航,并且最重要的是它支持任意Word文档的差异比较(它将差异推迟到Word本身,但这个功能非常好用)。
没有理由为什么 TortoiseGit 不能拥有同样的功能,但这种稳定形式的东西目前还不存在。幸运的是,将Subversion存储库迁移到Git很容易在未来的任何时间进行。
更新:截至2011年,TortoiseGit 显然具有与 TortoiseSVN 相同的文档管理功能。但是,Subversion支持指导性锁定文档,以便其他用户在尝试与另一个人同时编辑文档时会收到通知。据我所知,由于Git的分布式特性,TortoiseGit无法支持此功能。
TortoiseGit支持Office文件的完整git工作流程,将diff委托给Office本身处理。对于OpenDocument格式,它也可以委托给OpenOffice处理。