分布式的优势
svn checkout只是检出某个版本,而
git clone将会得到整个库的历史
通常来说,git clone整个库比svn checkout单个版本更有效率。
这给了你一些直接的好处,几乎所有的操作都在本地操作,这样节省与服务器通信的时间,效率远在subversion之上。
另一个隐性的好处是你的工作流不再会有单点失败的风险,因为每个clone都是仓库的一个完整拷贝,即使服务器磁盘崩溃,也不会有太大的损失。
分布式系统的最大好处是难以致信的工作流,git独立于中心仓库,你可以和多个远程仓库通信,任意push和pull。
当然,同时你也可以使用中心仓库。
轻量级分支
svn创建分支需要在服务器上创建一个目录,容易使服务器目录混乱;svn切换分支时间比较长;最大的麻烦是合并问题。
svn创建和切换分支消耗的时间
git创建和切换分支消耗的时间
分支在svn中被认为是一个快速的操作,但是与git相比,仍然有着巨大的差距。
这还不是git分支的大优势,git分支最大的优势是如何使用它们。
你可以在本地仓库中为任何事创建分支,很轻易地切换到新的分支,并且很轻松地合并回主干。
分支,其实最大的问题就是合并,但是git使得分支与合并都很容易。git的合并基础是三方合并。大多数的svn用户不得不手动解决,这容易造成错误并浪费时间。此外,你能将同一个分支合并多次而不用解决相同的冲突。
参考:
http://thinkvitamin.com/code/why-you-should-switch-from-subversion-to-git/