我目前相信最好的方法是使用this git branching model来组织我的本地git仓库。从那里,我将使用release分支将代码
push
到我的暂存服务器进行测试。一旦我确定release代码在暂存服务器上正常工作,我就可以将其与我的master分支merge
并将其push
到我的生产服务器。
推送到暂存服务器:
如许多git入门文章所述,如果我push
到一个非裸库中可能会遇到问题,因此,正如这个回答所建议的那样,我计划将release分支push
到服务器上的一个库,并使用post-receive hook将库clone
到充当Web托管目录的non-bare
库中。
推送到生产服务器:
这是我最新困惑的地方...
在我引用的上述回应中,@Paul说当向一个实时的开发服务器进行push
时,情况就完全不同了,这让我感到好奇。我猜我没有看到问题所在。如果遵循与上述相同的步骤,但是针对master分支,是否安全且无麻烦?可能会有什么陷阱?
配置文件:
关于每个环境都独有的配置文件(.htaccess
, config.php
等),似乎最简单的方法就是在各自的服务器上的各自的repo中.gitignore
每个文件。您是否可以立即发现任何错误?还有更好的方案吗?
访问数据:
最后,正如我最初所述,该站点使用MySQL数据库来存储数据。您建议我如何从staging server和localhost访问该数据(用于测试目的)?我意识到我可能在一个帖子中问了太多问题,但由于它们都与设置这个开发计划的最佳方式有关,我认为这是必要的。