【问题标题】:Tracking releases, branches or tags?跟踪版本、分支或标签?
【发布时间】:2012-08-02 10:56:36
【问题描述】:

您如何跟踪您的发布?

目前,我们有 2 个主要分支机构

  • 开发
  • 发布

由几个人进行的持续开发总是发生在dev。一旦完成了足够多的更改,代码就会被合并到release,并在其中构建并标记。然后部署代码。

问题:这很好用,但通常会出现新的错误,这些错误目前正在开发分支中处理,已经……继续前进(有时很多)。一旦问题得到修复,向客户发布的新版本通常包含修复和一些新功能。

我想将流程更改为以下内容:

  • 当前尚未部署
  • prod
  • dev/1.0.0
  • dev/1.0.1
  • dev/1.0.2 目前正在生产中

你怎么看?这种趋势会奏效并长期可持续吗?我们每年发布大约 15 次,每个版本至少有 2-3 次生产后事故需要修复,所以大致来说,我们每年将有 75 个分支(这是很多,但我想一段时间后他们可以被删除)

【问题讨论】:

  • 您想修复release 分支上的错误并能够将它们部署到生产环境,而无需从dev 分支引入正在进行的工作?难道你不能直接从release 分支,修复错误,然后在releasedev 中合并该分支的更改吗?

标签: git release development-environment


【解决方案1】:

如果有几个人致力于新功能(以及现有功能的改进)并且他们都使用 dev 分支来提交他们的代码,那么您永远无法确定 dev 分支是稳定的。如果开发人员使用功能分支来构建新功能,并且仅在功能完成后将其合并到 dev 分支中,则 dev 分支应该始终是稳定的。 (那么特性分支也可以删除。)

我喜欢git flow的解决方案。您有一个主(生产)分支和一个开发分支。还有一些功能分支,您可以在其中处理新功能和修补程序分支,以解决需要在生产中修复且不能等到下一个版本的内容。

【讨论】:

    猜你喜欢
    • 2018-12-11
    • 2013-04-30
    • 2012-03-05
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多