有关网站开发的版本控制设置的建议

时间:2011-01-05 19:52:59

标签: version-control

我们决定开始对我与另外两个人维护/开发的网站使用版本控制。我们目前使用的流程如下:网站托管在专用服务器上。我们的开发工作也在此服务器上完成,但是在实时网站的子文件夹中的站点副本上完成。完成新功能的实现后,我们将更改的文件从此子文件夹复制到实时网站。正如你可能想象的那样,以这种方式部署新功能相当麻烦,而且同时也很难与多个人一起开发。

为了改进我们的开发过程,我们决定开始使用版本控制。我对版本控制系统(Subversion和Mercurial)的使用有一些基本的了解,并且对集中式和分布式版本控制系统之间的差异有一些基本的了解。但是,这可能不足以决定我们的要求的最佳设置。

我向我们的托管服务提供商寻求帮助。他们有设置Subversion的经验,但没有使用Mercurial / Git的经验。所以他们可以为我们设置Subversion,但是当我们决定开始使用Mercurial / Git时,我们必须自己做。但在我们做出这个决定之前,我想就什么是我们要求的最佳选择提出一些建议,我将在下面说明。我不介意花一些时间研究如何使用Mercurial / Git正确设置解决方案,如果它明显更符合我们的要求,但如果Subversion解决方案足以满足我们的要求,我有更好的方法来度过我的时间:)

我们的主要要求是:

  • 在网站上轻松部署新功能。

  • 即使在将其他功能部署到实际网站后,也能够恢复实时网站中的大量更改(基于用户反馈)。我知道总会有冲突的可能性,但哪种解决方案最适合这个?

也许还有其他明显的优点/缺点来选择我错过的两种解决方案中的一种。

1 个答案:

答案 0 :(得分:0)

我认为任何版本控件都会对您有所帮助。主题是哪​​一个是有争议的(接近宗教!),你将获得各自的利弊。

这是我的看法。我对subversion非常熟悉并且对git有点熟悉。虽然git是新的和酷的,并且有一些可以说是很棒的功能,但我发现subversion在工作环境中每天都更容易使用,我还没有找到任何人有一个令人信服的论据,为什么有一个存储库的本地版本副本是巨大的优于使用颠覆。我喜欢使用github与开源项目合作,但由于某种原因,它似乎是一个更自然的环境。

结论?它实际上可能并不重要,选择一个你已经足够舒服的实际使用它(这听起来像是颠覆)。