【发布时间】:2019-09-03 21:47:59
【问题描述】:
我正在使用 Git Flow 来组织我的工作流程。有时我们会遇到功能已合并到开发分支并部署到登台的问题。
但是客户只想要一些已接受的功能。在这一点上,我们遇到了一个问题,因为我无法将 develop 合并到 master 中,因为它具有客户在生产中还不需要的功能。
举个例子,假设我有 4 个分支。 masterdevelopfeature-1 和feature-2。 master 是当前的生产状态。 develop 是当前的暂存状态,用作新功能的起点。
假设开发人员在feature-1 上工作,他们已经完成,将请求合并回develop,客户端接受新功能并准备好进行进一步的集成测试。现在他们开始处理 feature-2 和以前一样的故事。
客户进来说我需要feature-2 直播,但不需要feature-1。在这一点上,由于feature-2 已经提交了feature-1,因此我们处于困境中。
我想出了什么:
- 告诉客户,运气不好
feature-1也需要部署(客户不高兴) - 分支
master和樱桃采摘feature-2进入它 (eeew) - 删除
develop分支并仅将master分支用于需要投入生产的功能。这里的问题是更难的集成测试,功能相互依赖(客户端有时需要很长时间才能响应/测试,而开发仍在继续)。
我正在寻找一种方法来更改我的工作流程,以允许将一些功能分支合并到主分支中,但不是全部。同时,我不想通过不将功能重新合并到开发中来妨碍我的开发人员,因为大多数时候开发进行得非常快,并且功能可能依赖于其他功能。
【问题讨论】:
标签: git version-control workflow branching-and-merging