Mal*_*ala 6 svn version-control
随着我的项目越来越大,我正试图进入版本控制.目前我的开发是这样的:
我的本地平台是Gentoo,Linux.我看了一下SVN,但我认为它可能不适合我的需求,因为我的本地网络服务器(和Unison)只能访问当前检出的代码,依此类推.我可能错了,但我不太了解这一点.
有人可以指导我对现有代码设置某种版本控制,这会导致本地网络服务器可以访问最新版本,并且不会破坏未编辑文件的访问时间吗?(我不想让Unison在每次更改时上传每个文件)
我为此使用了 subversion,效果很好。
通常我会继续开发,直到我清理了一些东西以便发布。
那时,我将创建一个名为release-之类的分支。我将跳上生产系统并检查我新创建的分支。对于几个项目,我将有一个在生产系统上运行的暂存区。
例如,我可能有一个如下所示的目录树:
/web/sites/release-1
/web/sites/release-2
/web/sites/release-3
/web/sites/release-4
/web/sites/stage ==> release-4
/web/sites/live ==> release-3
Run Code Online (Sandbox Code Playgroud)
“stage”和“live”是符号链接,是 Apache 为虚拟主机 www.example.com 和 stage.example.com 提供的 DocumentRoot)
这种设置允许我在实际生产环境中非常仔细地测试,然后通过交换符号链接进行切换。
通过在部署之前进行分支,我可以在极少数需要这样做的情况下对生产进行紧急修复。然后,只要方便且合适,我就可以将这些更改合并回主干。
最后一点提示:如果您在生产环境中使用 subversion 项目的工作副本,您需要阻止 apache 允许人们浏览您项目中的 .svn 目录:
在 httpd.conf 中:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |