我们已开始在我们的继续交付(CD)项目中使用Git。 我们的DevOps决定我们必须有一个干净的Git日志,每个泡泡都与技术/用户故事相关。在日志中,master上的提交必须是来自功能分支的合并提交。日志不得超过一个级别(即,看起来每个分支看起来好像不与另一个分支重叠) 例如:
到目前为止,我们通过创建一个本地分支,提交到这个分支并使用master重新定位,然后使用no-ff将分支合并到master之前实现了这个目标。
但是,我不确定这种方法是否最佳。它在大多数情况下运行良好,但是当不止一个开发人员在同一个分支上工作时,他们就无法使用master进行rebase。因此,如果他们需要将分支代码与推送到主人的一些更改同步,他们就不能(或者至少它更复杂)
习惯了之前的源代码控制系统,我觉得因为rebase丢失了有关提交真实发生顺序的信息,所以更难理解正在发生的事情。
在具有上述约束的团队中工作的最佳做法是什么(日志必须尽可能接近上图)?
这种日志结构给持续交付系统中负责发布的人带来了什么大的优势?