这似乎是一个很简单的问题,但却在办公室里引发了令人惊讶的对话。开发人员应该共享一个分支,例如在处理某个特性时吗?还是每个开发人员都应该使用自己的分支,如果需要与其他团队成员协作,那么应该使用一个单独的分支(类似于发布分支)来实现这个目的?
我还没有看到任何主要的分支策略直接解决这个问题(Git流、GitHub流或GitLab流)。共享一个特性分支可以让多个开发人员轻松协作,并且在创建和/或合并拉请求时可以对提交/消息进行任何清理。然而,即使是两个开发人员在同一个分支上工作时也会遇到麻烦,例如,如果其中一个使用合并,而另一个使用重基。这里是否有最佳实践建议?
发布于 2019-10-08 20:37:09
虽然我认为这个问题是主观的,但我认为更多的原因在于你认为这是一个“特征”。例如,如果您的“特性”足够广泛,两个或两个以上的开发人员同时处理它,我不认为它是一个特性,我认为它是一个史诗。
我会把这些工作分解到每个“特性”只限于一个开发人员的程度。这样,这些特性就可以由单个开发人员在自己的feature分支上独立地工作,并在工作完成后合并回develop。
工作应该分开(并且项目应该是结构化的),这样开发人员几乎永远不需要同时处理相同的文件,尽管如果需要两个开发人员在完全相同的区域协同工作,开发人员B总是可以将develop合并回他们的feature分支以获得最新的更改。
但是,我建议不要将开发人员A的feature分支直接合并到开发人员B的feature分支中。在这样做时,您基本上是说特性B依赖于特性A。我也建议您不要出于同样的原因使用“联合”分支。
在这种情况下,我建议简单地推迟关于特性B的工作;您在特性B的开发中引入了未知的风险,并且急于开发特性A。这可能导致特性A的测试不足(这可以由向左移动解决,在分支上完成测试,然后将其部署回develop)。
https://stackoverflow.com/questions/58293514
复制相似问题