Git:使用nvie的gitflow概念与暂存环境

5

我们使用nvie的gitflow作为我们的Git分支策略,并且相对地遵循它。

主要区别在于,我必须将一个暂存环境整合到现有的策略中。

首先非常简单。暂存不过是一个我们可以与新发布分支合并的简单分支。将其推入原点/暂存服务器,在暂存期间进行所需操作。到此为止一切都很好。

但是假设我们在暂存阶段发现需要更正的内容(小错误修复,甚至是新集成功能中的错误?)对我来说还不清楚,如何处理这种情况是一个好策略。

我的当前想法围绕以下策略:

  • 从原点/暂存创建一个分支暂存_fix
  • 更正错误
  • 重新运行暂存过程+测试
  • 将暂存_fix分支与发布分支合并
  • 从原点拉取发布分支
  • 按照nvie的gitflow继续进行,因此为生产准备释放分支等...

你认为这是个好主意吗? 这将导致直接更改暂存分支,这对我来说似乎是一个捷径,因为我必须直接操作暂存环境 - 这是您不会对生产环境做的事情,而我希望暂存尽可能类似于生产。

或者可以直接更正发布分支并将其推送至暂存,直到所有错误都得到解决。至少现在我们一直有一条单行道来进行更改。

你更喜欢哪种方式?你会在这里建议不同的策略吗?

2个回答

2
似乎这是一种不错的策略,因为:
  • 它将staging(以及相关的合并工作流)隔离在一个仓库中(位于staging服务器上)
  • 它允许从该staging服务器中拉取您需要重新集成和合并回自己的开发仓库的内容。
只有当在staging仓库中进行的修复(而不是在您的仓库中完成修复并推送到staging)需要太长时间,并且由于代码修改的巨大差距而导致合并变得过于复杂时,这种方法才会变得繁琐。

2
如果你遵循Git Flow模式,按照我理解,应该遵循以下步骤: - 开发新功能时,完成后将其合并回开发分支 git flow finish feature MyFeature
  • 如果要测试功能,请创建一个发布分支 git flow release start YourRelease,其中包含所有已完成并合并回开发分支的功能。

  • 在暂存环境中部署您的发布分支,修复发布分支中的错误,重新部署分支,修复错误等,直到您对发布分支满意为止。

  • 当发布分支准备好部署时,运行git flow finish release YourRelease,这将合并发布分支到主分支和暂存分支。

  • 将主分支部署到生产环境中。

我看到的问题是,如果在暂存环境中合并的某些功能需要被删除(太多错误,功能计划更改等),则会陷入无法删除不想要的功能的困境,无法继续处理其他功能/发布,直到此功能被撤销...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接