【发布时间】:2016-09-04 05:50:33
【问题描述】:
想象一下这个场景:
master: M
release-candidate: \ A--B'--C'
feature-A: \-A-/ / /
feature-B: \-B--/ /
feature-C: \--C---/
发布候选者是使用以下命令创建的:
git co master
git co -b release-candidate
git merge feature-A (FAST FORWARD)
git merge feature-B (REGULAR MERGE)
git merge feature-C (REGULAR MERGE)
假设在我们的预发布测试期间,我们发现功能 A 存在问题。我们如何撤消此功能分支快速向前合并到发布候选分支所引入的更改?
我们可能会将 release-candidate 重置为其主状态并再次开始合并所有有效功能,但这意味着重复大量的合并冲突解决并引入错误的可能性。
还请注意,我只在每个功能分支上显示了一次提交,但解决方案应该适用于有多个提交要撤消的情况。
【问题讨论】: