2009-02-11 81 views
5

我应该为Rails应用使用哪个版本控制系统:Git还是SVN?Git或SVN for Rails应用程序?

这里有一些因素需要考虑:

  • 我是唯一的开发商
  • 我熟悉SVN
  • 我只用Git的一个星期,似乎很相似SVN真的。
  • 我想将我的存储库放在远程位置,并通过SSH或其他协议(我已经用SVN完成)连接到它。

编辑:谢谢你到目前为止的响应。 Git似乎更受青睐。它有没有SSH功能?

+0

Rails与使用SVN或Git的决定有什么关系? – Robert 2009-02-11 14:07:12

+2

Rails社区已经跳上了Git的潮流,大多数Rails开发者现在都在使用Git。 – 2009-02-11 16:04:20

+0

它具有SSH支持以及其他许多功能:http://www.kernel.org/pub/software/scm/git/docs/git-pull.html#URLS – sebnow 2009-02-13 08:24:48

回答

12

我想说去Git。主要是因为我有偏见,但也因为你不需要用Git设置任何类型的服务器,你只需要git init就可以了。它提供了比SVN更多的灵活性和强大的功能。

编辑:这是有点欺骗Why is Git better than Subversion,或至少有关。编辑2:Git有3种主要的通信方式,Git协议,SSH和HTTP。 Github使用SSH进行“推送访问”,例如[email protected]/user/repo.git。

+1

您无需安装服务器如果你是唯一的开发者,也可以使用svn,并且你也可以通过ssh使用svn。而且你总是可以通过使用git svn来获得最好的两个系统:) – bluebrother 2009-02-11 22:07:47

5

作为一个已经熟悉SVN的开发人员 - 如果您希望尽可能提高生产力,请使用SVN。

另一方面,如果您真的想学习GIT并且可以多花点时间学习它,请使用GIT。

1

由于您是独奏者,并且希望将其放在远程位置:SVN,但您也应该学习/使用Git。你也可以把两者结合起来,在本地使用Git和SVN作为远程服务器。

1

使用某种版本控制可能是一个好主意。对代码进行远程备份也可能是一个好主意。

Git和svn都是很好的版本控制解决方案,都在Ruby/Rails社区中很受欢迎。

如果你在一个分布式开发小组,我建议git可能更合适,因为它的具体设计目标之一是针对这种情况。

如果你在Windows上,我会暗示说TortoiseSVN可能比msysGit提供的挑战更少。

大多数情况下,尽管他们似乎都做了类似的工作,并做得很好。

如果您在构建项目时专门要学习新的源代码管理系统,请参阅git。或者,如果你打算花很多时间在Github上,例如,边缘Rails,那么也可以使用git。

否则我会说你应该坚持svn。

4

使用Git,如果没有其他原因,你可以使用它几乎完全像SVN(包括通过SSH远程管理多个分支),它更快,更可靠。本地签到和分支机构,分布式版本控制,修订历史管理等只是副作用。

根据我的经验,选择SVN优于Git的唯一原因是:传统的SVN存储库或在客户端上使用Windows的要求。

0

我想说没有特别的区别。

这两个系统都只是工具,它们都会为您提供您正在寻找的功能。如果没有其他参数需要考虑,我会说你已经知道了,并且你不需要时间来学习它。

1

如果你有一天学习Git,那么学习Git。它具有svn所具有的所有功能,以及便宜的分支/合并,本地提交以及分布式开发选项。

使用远程存储库很容易。如果你只是寻找某种公共托管,那么你可能想看看Github,它有免费的公共托管,良好的Ruby集成和许多漂亮的图表。

0

我想添加一个后续问题:你是单独工作吗? Git的GUI工具支持通常落后于Subversion,所以如果这是或可能成为考虑因素,那么我会选择Subversion。例如,如果您的设计人员使用Adobe CS4,他们可以使用其内置的Subversion支持(并且您不必教他们Git)。因此,考虑你团队当前和未来的构成是决策制定的一个因素。

0

我曾经喜欢git,但最近已经转向了mercurial。它的语法与git完全一样,但是用python编写,并且有很多漂亮的花里胡哨的东西,比如用于提交视觉跟踪的web服务器。

我知道这可以使用gitweb为git设置,但它需要一些工作。

3

我会在评论中回复,但我还不能。

对于那些不知道的人,Git使用Windows。如果你不喜欢msys的版本,TortoiseGit已经可用。