首页 > 解决方案 > 如何进行空合并提交(忽略更改)?

问题描述

自动化 CI 工具将修复从 . 合并releasemaster. 但是应该忽略来自发布分支的一些提交。

让我们考虑以下示例:

发布分支包含两个修复:fix-1应该被忽略并且fix-2应该合并到master.

base ----------- merge-fix-2 -        master
  \                  /            
   fix-1 --- fix-2 ---                release

使用此配置合并fix-2还包括fix-1更改。

为了避免这种情况,我需要的合并提交(ignore-fix-1),只是为了通知fix-1已经合并的 Git,这些更改应该在即将到来的合并中被忽略:

base -- ignore-fix-1 -- merge-fix-2 --  master
  \       /             /            
   fix-1 ----- fix-2 ----               release

问题是:如何做那个ignore-fix-1 提交?

标签: git

解决方案


您可以使用“我们的”合并策略,这正是您想要的:通过完全忽略传入的分支来执行“合并” -s oursgit merge

也就是说,至少可以说,这对你的历史来说是一件令人惊讶的事情。我假设您有一个令人信服的理由不希望在master.

  1. 拆分releasestable(for fix-2) 和production(for ) fix-1然后经常合并stable为and 。 masterproduction
  2. Cherry-pick 发布修复,而不是合并它们。

推荐阅读