| 指定方式 | git merge -s <策略> <分支> |
|---|---|
| 默认策略 | ort(Git 2.34 起;此前为 recursive) |
| 典型用途 | ours 丢弃对方改动、subtree 合并子项目目录、octopus 同时并多个分支 |
常见策略对照
| 策略 | 行为 | 使用场景 |
|---|---|---|
| ort | 三方合并,重命名检测较完整 | 默认,常规合并 |
| resolve | 较旧算法,仅两方文件级合并 | 极少用,历史兼容 |
| octopus | 一次合并多个分支 | 多分支批量并主干、无冲突时 |
| ours | 忽略对方全部内容,仅记录合并 | 明确以本分支为准的旧分支 |
| subtree | 按子目录对齐合并 | 未使用 subtree 元数据的旧式子项目 |
大多数仓库不需要改策略;跨项目合并优先了解 subtree/子模块(见进阶条目)而不是长期依赖 -s subtree。