我使用 Subversion 几年了,相比于 SourceSafe,我更喜欢 Subversion。加上 TortoiseSVN,我实在想象不出还有什么更好的。
然而,越来越多的开发人员声称 Subversion 存在问题,我们应该转向新型分布式版本控制系统,例如 Git。
Git 如何改进 Subversion?
我使用 Subversion 几年了,相比于 SourceSafe,我更喜欢 Subversion。加上 TortoiseSVN,我实在想象不出还有什么更好的。
然而,越来越多的开发人员声称 Subversion 存在问题,我们应该转向新型分布式版本控制系统,例如 Git。
Git 如何改进 Subversion?
由于它不需要与中央服务器不断通信,因此几乎每个命令都可以在一秒钟内运行(显然git push / pull / fetch较慢,因为它们必须初始化SSH连接)。分支更加容易(一个简单的命令用于分支,一个简单的命令用于合并)。
对于寻找良好Git GUI的人来说,Syntevo SmartGit可能是一个不错的解决方案。虽然它是专有软件,但非商业用途免费,可在Windows/Mac/Linux上运行,并且甚至支持使用某种git-svn桥接器的SVN。
SourceGear的Eric Sink写了一系列关于分布式和非分布式版本控制系统之间差异的文章。他比较了最流行的版本控制系统的优缺点。非常有趣的阅读。
这些文章可以在他的博客www.ericsink.com上找到:
现在Windows下的Git得到了很好的支持。
查看GitExtensions = http://code.google.com/p/gitextensions/以获得更好的Windows Git使用体验。
同时,阅读手册也是必不可少的。
http://subversion.wandisco.com/component/content/article/1/40.html
我认为可以相对安全地说,在开发人员中,SVN与Git的争论已经持续了一段时间,每个人都有自己的看法。在我们2010年关于Subversion的网络研讨会中,这甚至成为了其中一个问题。
我们的开源总监兼Subversion公司总裁Hyrum Wright谈到了Subversion和Git之间的区别,以及其他分布式版本控制系统(DVCS)。
他还谈到了即将推出的Subversion变化,例如Working Copy Next Generation(WC-NG),他认为这将导致许多Git用户转回Subversion。
观看他的视频,并通过在此博客上发表评论或在我们的论坛上发布帖子来告诉我们您的想法。注册很简单,只需要花费一点时间!
首先,并发版本控制似乎是一个容易解决的问题。但实际上并不是这样。无论如何...
SVN相当不直观。Git更糟糕。[讽刺性推测]这可能是因为像并发版本控制这样的难题,开发人员对于制作良好的用户界面没有太多兴趣。[/讽刺性推测]
SVN支持者认为他们不需要分布式版本控制系统。我也曾这么想过。但现在我们完全使用Git,我成为了信徒。现在版本控制对我和团队/项目都起作用,而不仅仅是对项目起作用。当我需要一个分支时,我就创建一个分支。有时它是与服务器上的相应分支对应的分支,有时则不是。更不用说所有其他优点了,我将不得不去学习(部分归功于现代版本控制系统中神秘而荒谬的缺乏用户界面)。
为什么我认为Subversion比Git更好(至少对于我工作的项目来说),主要是因为它的易用性和简单的工作流程:
http://www.databasesandlife.com/why-subversion-is-better-than-git/