我已经阅读了@nvie 的Git 分支模型和gitflow,我认为这是一个很好的模型,可用于我目前正在开发的项目(Web 应用程序)。
我是该项目的首席开发人员,我在本地环境(类似 MAMP)上进行开发。每当我做了一些东西给客户看时,我都会提交我的工作并将其推送到中央 Git 主机。从那里我将它部署到连接到互联网的服务器上。然后我的客户可以看到更改。
第二个开发人员刚刚开始从事该项目。他一次开发单个功能,并在它们准备好时将它们推送到中央 Git 主机。我在部署之前回顾了他的工作。
目前所有提交都在master
分支中完成并部署到单一托管环境。将来我想拥有一个生产环境(用于实际使用)、测试环境(在应用程序的新版本发布之前测试它们)和一个开发环境(我可以在其中展示已完成的功能或仍在进行中给客户)。我认为生产环境将从中部署master
,而开发环境将从中部署develop
。
我的问题如下:
我经常同时处理多项任务。当某个功能的一部分准备就绪时,有时我想在继续开发该功能之前将其展示给我的客户。但是,据我了解,一个功能(分支)只会
develop
在它完成并计划发布时才被合并。如何向我的客户(在开发环境中)显示正在进行(或尚未计划发布)的功能?我应该从哪个分支部署到测试环境?我应该手动选择那个时候的发布分支,还是有一个专门的测试分支?