我正在尝试确定在 Gerrit 上与我们的工作流程相匹配的多个分支的正确工作方式。
我们现在使用分支的方式是:我们有 master 和 feature 分支。Master 是我们想要完善并准备发布的分支,而特性显然是一个密集工作的领域。现在,在我们的特殊情况下,每当有人修复错误时,他们:
- 创建针对主分支的更改
- 樱桃选择它到特性分支的目标更改
- gerrit 代码审查完成后,提交这两项更改。
现在我理解cherry-pick的方式,它选择单个提交并将其合并到当前更改。如果是这样的话,我希望最终不会有合并冲突,而且确实这个工作流程只适用于 GIT。然而,Gerrit 很可能由于其性质(分支不会像本地那样远程合并并获得不同的 sha 标签)最终列出了大量的冲突文件。
现在,我通过应用合并策略解决了所有这些问题(我们的在 feature 上,他们的在 master 上),但感觉不对:如果没有传播任何东西,它就会被丢弃。
我的问题是:是否有一个安全的工作流程,类似于上面的工作流程,最终会产生与 gerrit 的干净合并?