版本化网站的最佳实践?

时间:2008-08-31 21:05:49

标签: version-control

网站版本化的最佳做法是什么?

  • 哪种版本控制系统非常适合这样的工作?
  • 有哪些专用工具?
  • 我应该问其他什么问题?

3 个答案:

答案 0 :(得分:5)

首先,您可以 - 并且应该 - 使用修订控制系统,大多数将处理二进制文件,尽管与文本文件不同,您无法合并两组不同的更改,因此您可能需要将系统设置为锁定这些文件正在改变(假设这不是你rcs的默认操作模式)。

对于网站而言,事情变得更有趣的是管理网站所需的那些文件但实际上并不构成网站的一部分 - 最明显的例子就是像.psd文件那样生成网页图形但是哪些没有部署。

因此,我们为每个站点都有一个树,它有两个文件夹:资产和站点。资产是不在网站中的东西,而网站就是 - 网站。

你需要注意的是,设计师倾向于拥有自己的“系统”来“版本化”图形文件(计算PSD中的图层)。您不一定要阻止他们这样做,但您确实需要确保他们也提交每个更改。

其他问题?

部署。我们还在努力研究这个问题( - :但我们情况正在好转(我现在对自己的工作感到高兴!)

墨菲

答案 1 :(得分:4)

在回应Christian Lescuyer的帖子时,您还需要在文件中启用“svn:keywords”属性,并在其中添加该行。除非设置了该属性,否则Subversion不会在您的文件中查找$ Revision $等关键字。

此外,如果在他的示例中使用PHP,您可能希望将$ Revision $放在单引号字符串而不是双引号字符串中,以防止PHP尝试将$ Revision解析为PHP变量并抛出警告。 :)

答案 2 :(得分:2)

我使用Subversion。 作为参考网站版本(生产,测试,开发)的简单方法,我使用了一个非常简单的技巧。我在网站的某处添加了修订号(例如在管理页脚中)。像这样:

<?php print("$Revision: 1 $"); ?>

每次签出(开发版本)或导出(生产)时,“1”将被存储库中的修订号替换,从而可以轻松地在测试服务器上设置客户版本。