【发布时间】:2017-10-25 13:42:34
【问题描述】:
我们有三个主要分支。 develop、uat 和 master。我们正处于当前 sprint 的最后一周。已决定将一项功能推迟到下一个版本。该功能已经在 uat 环境中。所以团队希望将其保留在 uat 分支中。因此,在合并到 master 之前,我必须删除具有 3 次提交的功能。
我可以从 uat 创建一个发布分支,还原这 3 个提交并合并到 master。但是由于通常将 UAT 合并到 master 中,下次可能会在 master 分支中发生冲突。除此之外,release分支是一个临时分支,会为这个场景创建,合并后会被删除。
我不想搞乱主分支。请建议是否有更好的方法来处理这种情况。
【问题讨论】:
-
使用来自 uat 的发布分支,您可以在再次将其合并到 master 之前修复该发布分支上的任何合并冲突。我认为您的第一个想法似乎是合理的。
-
感谢@Martin,问题是发布分支是一个临时分支,将为此场景创建。当前版本完成后它将消失。我们总是从 UAT 合并到 master。
-
@Ela:这可能是您原始问题中应该包含的关键信息(您现在可以对其进行编辑)。请注意,如果您删除分支名称,它保留的提交可能会被垃圾收集——这似乎与发布的要点相反。
-
谢谢@torek 实际上,我们的分支策略中没有发布分支。那是一个临时分支,就像在需要时创建一个错误修复分支。
-
@torek 如果分支被合并,您可以安全地删除分支名称(不会丢失历史记录)。只有当分支没有在任何地方合并时,这些提交才会被丢弃。 Why Delete Old Git Branches?
标签: git version-control git-merge merge-conflict-resolution