自动化 CI 工具合并了来自release
to master
。但是来自发布分支的一些提交应该被忽略。
让我们考虑以下示例:
发布分支包含两个修复:fix-1
应该被忽略并且fix-2
应该合并到master
.
base ----------- merge-fix-2 - master
\ /
fix-1 --- fix-2 --- release
通过此配置合并fix-2
还包括fix-1
变化。
为了避免这种情况,我需要empty合并提交(ignore-fix-1
),只是为了通知 Gitfix-1
已经合并,在即将进行的合并中应忽略这些更改:
base -- ignore-fix-1 -- merge-fix-2 -- master
\ / /
fix-1 ----- fix-2 ---- release
问题是:怎么做ignore-fix-1
empty commit?
你可以通过-s ours
to git merge
使用“我们的”合并策略,它完全符合您的要求:通过完全忽略传入分支来执行“合并”。
也就是说,这是一个奇怪至少可以说,对你的历史做的事情。我认为您有一个令人信服的理由不想要修补程序master
,但如果这种事情经常发生,您可能需要考虑不同的方法,例如:
- Split
release
into stable
(for fix-2
) and production
(for fix-1
),然后频繁合并stable
into both master
and production
.
- 精挑细选发布修复,而不是合并它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)