我们是两个开发网站的开发人员。我已经阅读了 progit book,但我正在努力了解对我们来说正确的工作流程和设置。我们希望在进行相关提交时自动更新生产和登台服务器。任何关于我们如何优化此工作流程或我们是否做错任何事情的建议将不胜感激。我目前的想法如下:
本地工作站
本地回购分支
- master(开发)跟踪 origin/master
- 生产追踪产地/生产
工作流程
- 一般开发是通过分支 master 并重新合并更改来完成的。
- 当准备好与合作伙伴共享更新并在实时 Web 服务器上进行测试时,将 master 推送到源。
- 在 Web 服务器上完成测试后,将 master 合并到生产中并将生产推送到源。
Web 服务器(源)
- 带有主分支和生产分支的裸仓库。
- 2 台虚拟服务器,一台用于暂存,另一台用于生产。
- 每个虚拟服务器的文档根目录是一个 git 存储库,它从同一服务器上的裸存储库中提取。
- 裸仓库有一个 post commit 钩子,用于检测哪个分支已被提交。如果提交了主分支,则从暂存虚拟服务器文档根目录完成 git pull origin/master。如果提交生产分支,
则从生产虚拟服务器文档根目录执行 git pull origin/production。