我正在开始一个新的分布式项目。我应该使用SVN还是Git,为什么?


当前回答

肯定是svn,因为Windows充其量是git世界中的二等公民(更多细节请参阅http://en.wikipedia.org/wiki/Git_(software)#Portability)。

更新:抱歉断开的链接,但我已经放弃尝试让SO与包含括号的uri一起工作。[链接现在固定。——编者)

其他回答

我会选择SVN,因为它传播更广泛,知名度更高。

我想Git更适合Linux用户。

If your team is already familiar with version and source control softwares like cvs or svn, then, for a simple and small project (such as you claim it is), I would recommend you stick to SVN. I am really comfortable with svn, but for the current e-commerce project I am doing on django, I decided to work on git (I am using git in svn-mode, that is, with a centralised repo that I push to and pull from in order to collaborate with at least one other developer). The other developer is comfortable with SVN, and while others' experiences may differ, both of us are having a really bad time embracing git for this small project. (We are both hardcore Linux users, if it matters at all.)

当然,你的里程可能会有所不同。

我会设置一个Subversion存储库。通过这种方式,个人开发人员可以选择是使用Subversion客户机还是Git客户机(使用Git -svn)。使用Git -svn不能为您提供完整Git解决方案的所有好处,但它确实为单个开发人员提供了对自己的工作流的大量控制。

我相信Git在Windows上的表现会在相对较短的时间内达到在Unix和Mac OS X上的效果(既然你问了)。

Subversion为Windows提供了出色的工具,例如用于浏览器集成的TortoiseSVN和用于Visual Studio集成的AnkhSVN。

YouTube上有一个关于这个的有趣视频。这句话出自莱纳斯·托瓦尔兹本人:google Tech Talk:莱纳斯·托瓦尔兹谈git

你必须使用DVCS,它就像源代码管理的一个量子飞跃。就我个人而言,我使用Monotone和它加速的开发时间没有结束。我们在Windows、Linux和Mac上使用它,它非常稳定。我甚至让buildbot在每个平台上进行每晚的项目构建。

分布式DVCS通常意味着您将创建一个中央服务器,仅供人们推送更改。