我是一名使用 django 自己工作的 Web 开发人员,我正在尝试了解如何最好地使用 Mercurial 部署网站。我想要的是能够保留一个可用于生产和开发工作的存储库。生产/开发之间总会存在一些差异(例如,它们可能使用不同的数据库,开发总是打开调试),但总的来说它们会同步。我还希望能够直接在生产服务器上进行更改(整理 html 或 css、简单的错误修复等)。
我打算用于执行此操作的工作流程如下:
- 创建 2 个分支,prod 和 dev(所有设置最初设置为生产设置)
- 更改 dev 分支中的 settings.py 和其他一些内容。所以现在我有 2 个头,从现在开始存储库将始终有 2 个头。
- (在开发机器上)对开发进行更改,然后使用“hg移植”将相关变更集复制到生产环境。
- 推送到主存储库
- (在生产服务器上)从主存储库中拉取,更新到产品头
注意:您也可以直接对 prod 进行更改,只要将更改移植到 dev 即可。
此工作流程的缺点是,每当您进行更改时,您不仅必须将其提交到进行更改的分支,还必须将其移植到其他分支。有没有更明智的方法来做我想做的事情,也许使用补丁?或者如果失败了,是否有一种方法可以自动化提交过程以自动将变更集移植到另一个分支,这会是一个好主意吗?
我可能会使用 Mercurial 队列来做这样的事情。保留主存储库作为开发版本,并有一个for-production
对生产进行任何必要更改的补丁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)