3

我对配置文件和部署有一个特殊的问题。当我部署我的项目时,它最终会转移到两个不同的分支:暂存和生产(在此处使用 SVN)

我从项目的本地工作副本创建分支。这最终会覆盖配置文件的暂存和开发副本,因此我必须手动进入并在每次部署时进行正确的更改。

从 SVN 中完全删除配置文件是否有意义,因为它是一成不变的?还是有其他方法可以做到这一点?

4

2 回答 2

2

我通常做的是在存储库中维护多个配置文件,但不在实际名称下(例如,在从部署中排除的专用文件夹中)。然后我的部署脚本将适当的配置文件复制到最终位置。所以我的部署程序是:

  • 查看
  • 编译
  • 运行部署脚本
于 2010-08-01T09:00:59.223 回答
1

您不想从 SVN 中删除文件 - 因为这将导致它在您部署时从服务器中删除它们。

SVN 提供了一个名为 svn: ignore 的功能,您可以使用它从版本控制中排除一个或多个单独的文件,或者匹配要忽略的文件名模式。基本上,忽略文件意味着 SVN 会将它们保留在每个工作副本或部署服务器上,因此它们在每个地方都可能不同。

有两种方法可以从命令行使用忽略。

A:编辑目录的忽略属性。

  • 用于cd trunk/blah切换到包含您要忽略的文件的目录。
  • 用于svn propedit svn:ignore .编辑此目录的忽略属性。这将打开一个文本编辑器。
  • 在打开的文件中,添加或修改代表您要忽略的文件的行。例如,添加一行*.txt会导致 SVN 忽略所有以 .txt 结尾的文件。添加一行config.php会导致 SVN 忽略 config.php 文件。
  • 保存并退出文件。
  • 提交属性更改。svn commit -m "New Ignores"

B:使用单个命令在目录上设置 SVN 忽略属性。

  • 用于cd trunk/blah切换到包含您要忽略的文件的目录。
  • 用于svn propset svn:ignore config.php .设置 SVN 忽略属性以忽略 config.php 文件。
    • 提交属性更改。svn commit -m "New Ignores"

关于 svn:ignore 的很好的介绍性文章。“ SVN 官方文档。

于 2011-05-20T18:04:30.530 回答