Git分支机构名称策略 - 每个模块或每个开发人员?

时间:2016-06-15 15:44:05

标签: git version-control

在我的团队中,我有3名开发人员。我们的网络系统将包含大约50个不同的模块(时间估计:1个模块为5天)。

在我创建master和dev分支之后,会有更好的结果:创建(在编码期间)50个分支,每个模块的每个分支(当然是一个接一个)。在这种方法中,当开发人员启动新模块时,他为它创建分支,当他完成时,他将它合并到开发。

或者更好的是只创建3个分支“developer1_name”,“developer2_name”,“developer3_name”?在第二种方法中,当developer1启动新模块时,他将其提交给分支“developer1_name”,当模块完成后,他将其合并到'dev'。

哪种方法更好?

2 个答案:

答案 0 :(得分:2)

我建议你为每个模块创建一个分支。这样一旦代码合并,你的dev就可以传递到另一个模块/分支,如果代码必须稍后编辑(你永远不知道),他可以轻松地回到它。 此外,开发人员可以处理多个模块。例如,如果他卡住并等待帮助。

答案 1 :(得分:2)

"答案更好"几乎总是“依赖于”,并且会根据您的要求而有所不同。不过,根据我的经验,这里有一些指导。

如果它主要是新作品,我不会为每个模块推荐一个分支。对于较少的回报而言,这是一个很大的开销。恕我直言,让人们尽可能经常地将工作代码贡献给主干(开发分支),并且只在需要时创建分支。这是一个额外的步骤,并不总能让你受益匪浅,我希望尽可能保持简单,直到需要更多的复杂性。 鼓励您的团队经常推送,并且只推送工作代码。然后您总是有一个工作基础,而无需对合并过程进行排序。

模块是如何相互依赖的?如果他们彼此依赖很多,那么大多数时候你可能想要一个dev分支。经常提交,并确保开发人员不断从主干获取最新信息。

如果模块的更改或功能可能需要重大更改,那么它是分支机构的理想选择。

你准备分阶段发布吗?如果您需要部分构建可行但不包含所有功能,则每个版本都需要分支。如果您发现自己构建了一个需要很长时间(比如说> 2周)的模块和/或包含重要的重大变化的模块,那么您将需要一个分支。