版本控制网站的最佳实践是什么?
- 哪些版本控制系统非常适合这样的工作?
- 有哪些专用工具?
- 我还应该问什么其他问题?
首先,您可以 - 并且应该 - 使用修订控制系统,大多数将处理二进制文件,尽管与文本文件不同,您不能合并两组不同的更改,因此您可能希望将系统设置为在更改这些文件时锁定这些文件(假设这首先不是 rcs 的默认操作模式)。
网站更有趣的地方是管理网站所需但实际上并不构成网站一部分的那些文件 - 最明显的例子是像 .psd 文件这样的文件t 得到部署。
因此,我们为每个站点都有一个树,它有两个文件夹:资产和站点。资产是站点中不存在的东西,站点是站点。
您必须注意的是,设计师往往有自己的“系统”来“版本化”图形文件(计算 PSD 中的层数)。您不一定要阻止他们这样做,但您确实需要确保他们也提交每个更改。
其他问题?
部署。我们仍在努力解决这个问题(-:但我们正在变得更好(我现在对我们所做的更满意!)
墨菲
为了回应 Christian Lescuyer 的帖子,您还需要启用包含该行的文件的“svn:keywords”属性。除非设置了该属性,否则 Subversion 不会费心在文件中查找诸如 $Revision$ 之类的关键字。
此外,如果在他的示例中使用 PHP,您可能希望将 $Revision$ 放在单引号字符串而不是双引号字符串中,以防止 PHP 尝试将 $Revision 解析为 PHP 变量并引发警告。:)
我使用颠覆。作为参考网站版本(生产、测试、开发)的简单方法,我使用了一个非常简单的技巧。我在网站的某处添加了修订号(例如在管理页脚中)。像这样的东西:
<?php print("$Revision: 1 $"); ?>
每次您签出(开发版本)或导出(用于生产)时,“1”将被您的存储库中的修订号替换,从而可以轻松地在您的测试服务器上设置客户版本,例如。