仅使用 git master 分支时处理修补程序

问题描述 投票:0回答:1

我一直在阅读人们如何放弃

develop
git 分支并在
master
上完成所有工作 - 以及这如何使一切变得更简单。

我试过了:

  • 我有一个主分支(具有线性历史)和许多短暂的功能分支。
  • 我将功能合并到master中。
  • 要发布,我在 master 上标记一个提交 - 例如
    staging
    1.2.3
    - 触发我的 CI/CD 工具分别生成暂存或生产版本。

效果很好......直到需要发布修补程序为止。

假设我准备了一个修补程序并将其合并到 main.c 中。在最后一个稳定版本 (

feat
) 和修补程序 (
1.2.3
) 之间会有功能提交 (
hotfix
) - 如果我部署最后一个提交,它也将包含所有这些杂项功能:

1.2.3 <-- feat <-- feat <-- feat <--hotfix

那是自找麻烦。

如何在这样的工作流程中处理修补程序?

git version-control git-branch hotfix
1个回答
0
投票

您的选择是:

  1. 使用稍后将丢弃的发布(或修补程序)分支 - 请参阅此处了解详细信息 - https://trunkbaseddevelopment.com/branch-for-release/。请注意,如果您将此作为您的标准模式,并且在您的问题中使用 SemVer,建议的方法是让每个发行分支都有自己的次要分支,以避免版本控制冲突 - 有关详细信息,请参阅我的帖子此处 - https://worklifenotes .com/2019/01/20/semver-in-product-always-keep-separate-product-branch-on-its-own-minor/

  2. 按照其他评论中的建议使用功能标志前滚 - 有关详细信息,请参阅我的帖子 - https://worklifenotes.com/2022/11/02/on-feature-flags/

这可能需要了解很多信息,但如果正确采用这些选项,应该足以应对任何现实生活情况。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.