配置文件和部署存在特殊问题。当我部署我的项目时,它最终会移动到两个不同的分支:staging和production(在这里使用SVN)
我从我项目的本地工作副本中创建分支。最终做的是覆盖分段和开发的配置文件副本,因此我每次部署时都必须手动进行正确的更改。
从SVN中完全删除配置文件是否有意义?或者还有另一种方法吗?
答案 0 :(得分:2)
我通常做的是在存储库中维护多个配置文件,但不在实际名称下(例如,在部署中排除的专用文件夹中)。然后,我的部署脚本将相应的配置文件复制到最终位置。所以我的部署程序是:
答案 1 :(得分:1)
您不希望从SVN中删除文件 - 因为这会导致它在部署时从服务器中删除它们。
SVN提供了一个名为svn:ignore的功能,您可以使用该功能从版本控制中排除一个或多个单独的文件,或匹配要忽略的文件名模式。基本上,忽略文件意味着SVN会将它们保留在每个工作副本或部署服务器上,因此它们在每个地方都可能不同。
有两种方法可以从命令行使用ignore。
答:编辑目录的忽略属性。
cd trunk/blah
切换到包含您要忽略的文件的目录。svn propedit svn:ignore .
编辑此目录的忽略属性。这将打开一个文本编辑器。*.txt
将导致SVN忽略以.txt结尾的所有文件。添加一行config.php
将导致SVN忽略config.php文件。svn commit -m "New Ignores"
B:使用单个命令在目录上设置SVN ignore属性。
cd trunk/blah
切换到包含您要忽略的文件的目录。svn propset svn:ignore config.php .
设置SVN ignore属性以忽略config.php文件。svn commit -m "New Ignores"
Good introductory article on svn:ignore。 “Official SVN documentation.”