我们需要在一个包含100多个“项目”的版本控制存储库中存储二进制文件(主要是MS Word文档,范围从几KB到几MB)。目前我们使用Visual Source Safe但存在一些问题,数据库有时会崩溃并且访问速度很慢。
我们正在考虑迁移到Git或Subversion,我们想知道哪一个是处理二进制文件的更好选择。
答案 0 :(得分:37)
Subversion尝试自动检测二进制文件(请参阅SVN FAQ)。如果失败,你必须自己指定它们(你也不能改变SVN的检测方法)。
Git也是如此,您可以通过在源存储库中包含.gitattributes文件来指定要自动视为二进制文件的文件。
Here是Git和SVN二进制文件处理的比较。
Here是其他一些Stack Overflow成员用Git和二进制文件做的事情。
希望这有帮助!
答案 1 :(得分:15)
我们使用git来做所有事情。从字面上看。甚至我们的行政办公室的整个文件共享都保存在git中(系统管理员每天都会提交它)。
这个共享几乎完全是二进制文件 - word文档,quickbooks等......
我们拥有100%准确的历史记录。偶尔git gc
会使回购协议大小变得易于管理。
另外:git非常快。当我们从SVN切换时,git
在我们的使用模式中比subversion
快〜10倍(包含20,000多个文件的大型项目)
答案 2 :(得分:13)
绝对是颠覆。今天(2009年),TortoiseSVN提供了Explorer集成的Subversion存储库导航,尤其是它支持任意Word文档的 diffing (它将差异推迟到Word本身,但该功能非常有效)。 / p>
TortoiseGit没有理由不能拥有相同的功能,但今天这种功能并不完全以稳定的形式存在。幸运的是,将来可以随时将Subversion存储库迁移到Git。
更新:截至2011年,TortoiseGit显然具有与TortoiseSVN相同的文档管理功能。但是,Subversion支持建议锁定文档,以便在其他用户尝试与其他人同时编辑文档时收到通知。据我所知,由于Git的分布式特性,TortoiseGit无法支持此功能。
答案 3 :(得分:3)
TortoiseGit支持将文档委派给Office本身的Office文档的完整git工作流程。 它也可以委托OpenOffice for OpenDocument格式。