Javascript Git分支机构最佳实践-主控、生产、暂存?

Javascript Git分支机构最佳实践-主控、生产、暂存?,javascript,git,branch,Javascript,Git,Branch,我正在努力理解主分支的目的。每一个新的回购协议都从一个开始,我做过几项工作,在回购协议初始化之后,主分支从未被触及,生产是部署到生产的最后一个分支。e、 g somefeature=>qa=>staging=>production==>deploy 甚至没有qa分支机构: somefeature=>staging(充当qa)=>production==>deploy 考虑到没有硬性规则,分支的常见方法是什么,特别是登台、生产和主控?如果您不熟悉git flow,这是一种非常合理的分支策略: 关

我正在努力理解主分支的目的。每一个新的回购协议都从一个开始,我做过几项工作,在回购协议初始化之后,主分支从未被触及,生产是部署到生产的最后一个分支。e、 g

somefeature=>qa=>staging=>production==>deploy

甚至没有qa分支机构:

somefeature=>staging(充当qa)=>production==>deploy


考虑到没有硬性规则,分支的常见方法是什么,特别是登台、生产和主控?

如果您不熟悉git flow,这是一种非常合理的分支策略:


关于主分支,请记住,“主”只是分配给git回购的第一个分支的默认名称。没有更多,也没有更少。

有多种常见的分支方法,您使用哪一种取决于您的需要

如果您正在运行自己的源代码,那么只需一个主分支(例如
master
)就可以了。在这样的模型中,您创建一个PR并获得所有必需的批准。然后使用单独的部署工具(如bot)在分支系统之外进行部署,并在代码稳定时合并到主分支中。GitHub使用这个系统

您可能还希望使用分层分支模型,其中PR被合并为一系列分支,首先是开发分支,然后是QA分支,阶段分支和生产分支。后者可以称为或不称为
master

如果您正在处理一个基于版本的项目,那么您可以有一个单一的开发分支,大多数代码都会合并到该分支中,并且可以有一个或多个版本分支,在这些分支中可以根据需要选择修复。这是许多开源项目使用的模型,比如Git LFS。Git使用了类似的策略,但是有额外的分支,在这些分支中,更改会“烹饪”,直到它们被认为是稳定的

还有其他更复杂的工作流,例如Git Flow,它们可能或许多都不能满足您的需要。一个分支策略需要考虑的是,如果你有多个分支,你将如何通过阶段获得代码。你可能希望有一个机器人或工具,在最初的PR或分支之后引导事情通过各个阶段,因为否则事情很容易丢失

重要的是你要清楚地记录你的工作流程,这样每个人都知道它是如何工作的,如果你的工作流程不再满足你的需要,你愿意重新审视它。您可能会发现,如果工作不适合您,您的工作流程中除分支策略以外的部分可能需要更改,如果这些更改对您的项目或组织更有效,则可以进行更改

但总的来说,很难做出一刀切的推荐