我们的团队具有以下工作流程。两个分支:
- 主人:所有更改均已进行和审查;
- 发行:这始终是生产中的内容(推动这一触发部署)
开发人员对主人进行更改,对更改进行了审查和测试,不时一个更改(这不一定是最新的,或唯一的主人)获得批准,并获得樱桃被选为部署。
问题在于,我们正在樱桃在主人中验证他们之后从主机挑选单独的更改。这意味着我们正在一种情况下测试变化,验证它们,然后期望它们在另一种情况下同样工作。
这个工作流/问题有名字吗?您将如何解决此问题?
就两个分支的上下文而言,如果两个分支的提交都同步并且测试环境与生产相似,那么部署问题的可能性很小。<<<<<<<<<<<<<</p>
但是,我觉得在公共共享分支上选择樱桃的过程不是一个好方法。
-
樱桃挑选将更改您的提交ID,即两个不同分支的相同更改将具有两个不同的提交ID。这将影响搜索将来的任何特定承诺,因为将没有链接完成何时进行更改以及何时发布。
-
恢复任何变化将是一个痛苦。由于将有两个针对相同更改的提交ID,因此您必须首先在Master中找到提交ID,并在发布时找到其他提交ID。
更好的方法是遵循合并策略,即您对主分支进行更改并合并以发布分支。在此策略中,将添加额外的合并提交和您的发布分支,但您的功能提交将具有与Master中相同的ID。
-
这将为完成并合并的委托历史,也有助于回溯到特定的提交。您可以联系何时完成提交以及何时发布。
-
振兴将与恢复合并提交一样简单。
使用这种方法的一个示例是gitflow。