自动化CI工具将修订从合并release到master。但是应该忽略发布分支中的某些提交。
让我们考虑以下示例:
Release分支包含两个修复程序:fix-1应该被忽略,并且fix-2应该合并到中master。
base ----------- merge-fix-2 - master
\ /
fix-1 --- fix-2 --- release
Run Code Online (Sandbox Code Playgroud)
通过这种配置,合并fix-2还包括fix-1更改。
为了避免这种情况,我需要空的 merge-commit(ignore-fix-1),仅用于通知Git fix-1已经被合并,并且这些更改在以后的合并中应该被忽略:
base -- ignore-fix-1 -- merge-fix-2 -- master
\ / /
fix-1 ----- fix-2 ---- release
Run Code Online (Sandbox Code Playgroud)
问题是:如何执行ignore-fix-1 空提交?
您可以传递-s ours到git merge使用“我们的”合并策略,它完全符合您的要求:通过完全忽略传入分支来执行“合并”。
也就是说,至少可以说,这对你的历史来说是一件令人惊讶的事情。我假设您有一个令人信服的理由不希望在 中进行修补程序master,但如果此类事情经常发生,您可能需要考虑不同的方法,例如:
release为stable(for fix-2) 和production(for fix-1),然后经常合并stable为两者 master和production。| 归档时间: |
|
| 查看次数: |
1272 次 |
| 最近记录: |