我们的团队决定是时候最终离开Serena PVCS(yay !!),现在我们必须在git或SVN之间做出决定.但即使在阅读了一些关于git如何处理bin文件的过时的文档和帖子后,我找不到关于这个主题的直接答案.所以,因为我们的一个repo有50gb,其中90%是.doc,.xls,.zip(每个从1mb到20mb从版本1.0到1.178),我不能把我的船变成Git岛.
到目前为止我发现的是:
https://help.github.com/articles/working-with-large-files
http://stevehanov.ca/blog/index.php?id=50
https://news.ycombinator.com/item?id=3548824
我们的大多数"极客"(最近出生的大学不到1年的开发人员)都在为git而大声疾呼,因为它是"主流",但我不认为git可以解决这类回购的问题.我的意思是,我们已经使用git管理一些repos(主要用于java源代码),但我很难决定我们应该针对哪个方向.
另外,除了Git/svn/Mercurial之外,bin文件还有其他选项吗?
提前致谢.
编辑:请理解我不会进入"gorila vs shark"哲学,我只是想获得更多的输入以决定我是否应该选择git而不是svn.
我们大部分的"极客"
不是极客,但是没有头脑的Git-fanboys.完全忽略小辈,他们一定不能说话
根据个人经验,我可以得出结论,两个系统处理大型二进制文件几乎同样平庸,并且具有SVN 的轻微优势(对于1.7之前的版本,现在我根本没有在Git端看到):
对于您的情况,最佳选择将是Mercurial与LargeFiles扩展(并且特殊的不同|合并|每个文件类型的查看器,编码器|解码器是额外的奖金,Git | SVN无法提供)
Git在二进制文件上不能很好地工作,因为它不能很好地压缩它们。他们最终将在您的Git回购历史记录中占用大量空间。我对此有第一手经验;当我添加和删除几张小照片时,我花了很长时间才重新克隆存储库。
对于SVN而言,由于它是集中式的,因此它实际上并不会影响开发人员,因为无论如何您都不需要存储库的全部历史记录(大多数情况下)。至于服务器上占用的空间,我对此不太确定。
最好寻找一种替代方法来上传大型二进制文件。也许最好的方法是将文件上传到备用源。SVN应该适合二进制文件。至于Git的,不永远与二进制使用它。如果必须的话,将二进制文件保存在单独的存储库中。
但是由于您不这样做,您可能应该使用SVN。
链接以供进一步阅读: