1

对于我的大多数场景,git flow 都做得很好。但是,鉴于以下情况(按时间顺序),我不确定前进的最佳方式是什么:

  1. 版本 1.0 被推送到生产环境(使用“git flow release”完成)
  2. 新功能和错误修复的发布后开发在开发分支中完成
  3. 1.0 版中出现了一些主要错误和一些缺失的需求,客户决定他们不能等待下一个主要版本,但是除了一些应该做的工作之外,其中一些错误/功能已经在开发分支中得到解决等待下一个版本。

如果我们有一个水晶球,我相信我们应该将更新应用为热修复而不是在开发分支中,但现在为时已晚。如果我们启动一个修补程序(关闭主分支),我们可以从字面上复制并粘贴分支之间的适当更新(粗略),但是当我们合并分支时(在某些时候),我们最终会遇到一些令人讨厌的冲突。

在这种特殊情况下,将头痛控制在最低限度的最佳方法是什么?

4

1 回答 1

2

创建一个修补程序分支,然后使用“git cherry-pick”从您的开发分支中提取特定更改。

git cherry-pick [commitid]

如果您将来进行一般合并,那么精心挑选的提交将不会重复或发生冲突,git 足够聪明,可以解决它。

于 2012-11-28T14:44:09.323 回答