繁体   English   中英

gitflow为什么我们需要掌握

[英]gitflow why do we need master

在gitflow中,所有发布分支最终都是

  1. 合并为主人
  2. 合并发展
  3. 标签大师
  4. 删除发布分支

但为什么我们不这样做

  1. 标记发布分支
  2. 合并发展
  3. 删除发布分支

如果是修补程序,我们可以

  1. 最新标签的分支
  2. 做修补程序
  3. 标记热修复分支
  4. 合并发展
  5. 删除修补程序分支

让我试着把我的理解放在这里,

git分支命名约定master, develop & release被很好地定义并被采用来与普遍同步。 这并不意味着您需要遵循,您可以定义您的愿望并推送给您的客户和用户。许多组织遵循通用命名约定以避免不必要的混淆。

在mercurial中,Many跟随分支命名default而不是master

定义在一行:

master  : Ready Product (Public Available)

develop : Requirements/bugs/Improvements Implementation In Progress (Not recommended to use)

release : Preparing to `Ready Product` (Private or internal)

tag master : Stable Product with defined features.

您可以参考This This This获取更多信息

对于gitflow中需要master分支( develop分支不能替换)的主要原因:

  • master分支上的所有版本都应该足够稳定,因为它用于产品环境。
  • 而对于develop分支机构,即使没有验证,所有开发人员也可以直接推动他们的工作。 这意味着, develop分支可能会“脏”,这将导致生产/生活环境崩溃。

您几乎描述了一个发布流分支模型:

  • 开发人员与公共主线分支合并(称之为开发或主控)
  • 当你准备从主线发布分支(称之为发布/ r-1.2等)
  • 当您发现新版本的问题时创建一个修补程序分支(修补程序/修复程序)
  • 像往常一样,将修补程序合并到主线中
  • Merge / cherry将修补程序添加到您的发布分支中
  • 发布分支表示将其部署到该环境时的生产

生产分支没有最终合并 - 因为发布分支是相同的,所以不需要它。

一旦旧版本分支被下一个分支取代,如果不再需要用于审计目的,则可以将其删除。

VSTS团队记录了这一点: https//docs.microsoft.com/en-gb/azure/devops/devops-at-microsoft/release-flow

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM