最主要也是最著名的区别在于它的核心架构。Git版本控制是分布式的,而SVN是集中式的。然而,这只是冰山一角。如果你想要有效地使用这两种方法中的任何一种,了解它们之间在方法和功能上的其他差异是很重要的。
SVN更好地处理二进制文件
也许SVN与Git相比最大的优势在于它如何处理二进制文件 。 之所以具有这种优势,是因为Subversion为 Lock-Modify-Unlock提供了支持 模型。 它是通过SVN中的锁定命令(svn:needs-lock属性)实现的,而由于它的分布式特性,Git完全不提供独占文件锁定。
对于代码库中具有多个不可合并的二进制资产的企业项目,这是一个真正的交易突破点,通常也是他们选择使用SVN的原因。
可用性和易用性
这可能是一个争论的话题,但是许多开发人员坚持认为SVN比Git更易于学习和使用。 通过提供更好的抽象功能,可以更快地添加功能,语法也更加简洁。
访问控制
Git架构假设每个使用它的人都具有相同的权限。 在它们自己的分支中获得对整个代码库的读写访问是事实。 实际上,它没有自己的用户权限指定。 尽管在开放源代码世界中