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


当前回答

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

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

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

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

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

其他回答

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

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

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

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

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

有趣的是: 我在Subversion Repos中托管项目,但是通过Git Clone命令访问它们。

请阅读在谷歌代码项目中使用Git进行开发

虽然谷歌代码原生说话 Subversion,可以轻松使用Git 在开发过程中。搜索“git” Svn建议这种做法是正确的 广泛传播,我们也鼓励你 用它来做实验。

在Svn存储库上使用Git给我带来了好处:

我可以分配到几个 机器,承诺和从 对他们来说 我有一个中央备份/公共svn存储库供其他人检查 他们可以自由地使用Git

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

我想Git更适合Linux用户。

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

我从来没有理解过“git在Windows上不好”这个概念;我只在Windows下开发,git从来没有遇到过任何问题。

我绝对推荐git而不是subversion;它只是更加通用,并且允许“离线开发”,这是subversion永远无法做到的。它可以在几乎所有可以想象到的平台上使用,并且拥有比你可能使用过的更多的功能。