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


当前回答

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

我想Git更适合Linux用户。

其他回答

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

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

SVN是一个repo和许多客户端。Git是一个有很多客户端回购的回购,每个客户端都有一个用户。它是去中心化的,人们可以在本地跟踪自己的编辑,而不必将内容推送到外部服务器。

SVN的设计更加集中,其中Git基于每个用户都有自己的Git回购,这些回购将更改推回到中央回购中。因此,Git为个人提供了更好的本地版本控制。

同时,你可以选择TortoiseGit, GitExtensions(如果你在github上托管你的“中央”git库,他们自己的客户端- github for Windows)。

如果您正在寻求摆脱SVN,那么您可能需要对Bazaar进行一些评估。它是具有这种分布式元素的下一代版本控制系统之一。它不像git那样依赖POSIX,所以有原生的Windows版本,它有一些强大的开源品牌支持。

但您甚至可能还不需要这些特性。看看分布式vcs的特点、优点和缺点。如果您需要的不仅仅是SVN提供的功能,请考虑使用一个。如果您不喜欢,您可能希望坚持使用SVN(目前)的高级桌面集成。

我并没有真正回答你的问题,但如果你想要分布式版本控制的好处——听起来是这样的——并且你正在使用Windows,我认为你最好使用Mercurial而不是Git,因为Mercurial对Windows的支持要好得多。Mercurial也有Mac移植版本。

我可以扩展一下这个问题,并问Git在MacOS上是否运行良好吗?

回复评论:谢谢你告诉我这个消息,我一直期待着尝试一下。我会把它安装在家里的Mac电脑上。

有人指出,在Windows下,SVN似乎是一个不错的选择。

如果您的一些开发人员想要尝试GIT,他们可能总是使用GIT-SVN,其中SVN存储库是在GIT存储库中重新创建的。然后,他应该能够在本地使用GIT,然后使用SVN将其更改发布到主存储库。