Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于产品、阶段、测试和开发部署的Bitbucket主分支_Java_Git_Bitbucket_Git Branch_Bitbucket Pipelines - Fatal编程技术网

Java 用于产品、阶段、测试和开发部署的Bitbucket主分支

Java 用于产品、阶段、测试和开发部署的Bitbucket主分支,java,git,bitbucket,git-branch,bitbucket-pipelines,Java,Git,Bitbucket,Git Branch,Bitbucket Pipelines,我有一个bitbucket项目,其中有许多团队成员正在与之合作。每个团队成员为新特性开发创建单独的特性分支,完成后,他将代码提交给特性分支……提交jenkins作业后,他将运行质量测试,并进一步创建拉请求。管理员用户在检查代码后,稍后会将代码合并到主代码中,以便进行生产部署 上述流程运行良好,但我想知道我们能够管理和维护适用于生产、分段、测试和开发环境的回购协议的其他最佳方式。我有一个想法,就像从主分支创建三个子分支一样,比如阶段、开发、测试。现在,开发团队将从开发分支创建功能分支,他们将工作并

我有一个bitbucket项目,其中有许多团队成员正在与之合作。每个团队成员为新特性开发创建单独的特性分支,完成后,他将代码提交给特性分支……提交jenkins作业后,他将运行质量测试,并进一步创建拉请求。管理员用户在检查代码后,稍后会将代码合并到主代码中,以便进行生产部署

上述流程运行良好,但我想知道我们能够管理和维护适用于生产、分段、测试和开发环境的回购协议的其他最佳方式。我有一个想法,就像从主分支创建三个子分支一样,比如阶段、开发、测试。现在,开发团队将从开发分支创建功能分支,他们将工作并将更改推送到它上面。稍后,更改将合并到开发分支并部署到开发环境中,进一步合并到测试分支并部署到测试环境中,进一步合并到暂存分支并部署到暂存环境中,测试后合并到主分支并部署到生产环境中


有谁能为我推荐一种比上述更好的用于生产、登台、测试和开发环境的源代码管理的最佳方法吗

如果:

  • 您在每个新的发布周期中重置了登台/开发/测试分支,使这些分支短暂(即销毁/重新创建)
  • 将功能分支合并到这些分支(而不是从开发到测试再到登台)

请参阅(不是“git流”,而是git repo本身所使用的工作流):通过将功能分支直接合并到每个环境分支,可以避免这些分支之间的任何依赖关系(
staging
不依赖于
test
,而不依赖于
dev
),在这些不同的环境中进行集成的过程中,取消某些功能变得非常容易:您不需要在下一个环境分支中合并该功能分支。

谢谢您的回复。你能告诉我在发布后让这些分支变得短暂的目的是什么吗。此外,我还没有明白这一点:您将功能分支合并到这些分支(而不是从开发到测试再到登台)。实际上,我认为开发人员可以从开发子系统创建特性分支branch@AlexMan请参阅:如果合并环境分支本身,则很难取消dev中已经存在的、您在测试中不再需要的功能分支。如果您直接合并功能分支,您所需要做的就是不要在下一个环境中合并您不想要的功能分支。@AlexMan这意味着,您可以随时通过在开发或测试或登台的当前状态上重新设置功能分支的基础来继续开发功能分支,而不是试图在这些分支中修复它。@AlexMan换句话说,要测试一个功能分支与其他已被选为开发/测试/或登台候选的功能分支的集成,您不必合并您自己的功能分支,您可以在开发或测试或登台的基础上重新设置它的基础,修复阻止您集成到该环境的任何问题,然后合并它。