从功能分支发布是一种好习惯吗?优点和缺点是什么?

Is it good practice to release from a featurebranch and what are advantages and disadvantages?

如果我们从功能分支发布 jee 项目,对软件开发有什么影响。我们正在使用 GIT。合并回开发人员/发布分支​​然后从那里构建发布是更好的做法吗?

每个团队都有自己喜欢的 git 工作流程,但是,Gitflow.

似乎对很多人都适用的一个相当普遍的工作流程

一般前提是您有 2 个主要分支,masterdevelop。所有功能分支都基于 develop 分支,因此在经过同行评审和测试后会合并回该分支。 master 分支作为您的生产分支。因此,当他们想要部署应用程序的新版本时,团队决定将 develop 分支合并到 master

我的 2 美分:

如果发现使用一组中央分支(例如:masterdevelop)更容易维护回购协议。

这样,每个人总是使用相同的参考资料:rebase/merge你在开发中的新特性,rebase/merfe在master上的生产版本。
设置跟踪某些事情的作业也更容易(例如:运行 对 develop 的每次更新进行单元测试,在 master 的每次更新时触发构建 ...)

您可以设置一个跟踪移动目标的工作流,例如版本标签(并编写代码来检查 3.2.1 是否小于 3.1.2 或类似的东西),但这更多繁琐,并为"bugs"提供了更多机会,例如:

  • 开发人员忘记考虑新功能:例如,alice 成功地将她的工作与 bob 的工作合并,并且推送成功,但在此期间,新目标有搬到chloe的工作,
  • 制作 3.2.3 时出现一些错误,因此不包括 3.2.2 上的最后一次提交,
  • ...