重用冲突解决结果
记录冲突片段及其解决方式,之后再遇到相同冲突时自动套用同样的处理结果。它适合长期维护补丁分支、反复同步上游的场景:同一处冲突处理过一次之后,不必每次重新判断一遍。
基本信息
| 用途 | 自动重放历史上解决过的冲突 |
|---|---|
| 启用方式 | 打开对应配置开关,可设为全局生效 |
| 缓存位置 | 仓库管理目录下的冲突缓存目录 |
| 配套命令 | 可查看状态、查看记录内容、手动重放 |
| 共享性 | 缓存不随克隆复制,各人各记 |
典型使用场景
- 长期维护的补丁分支反复同步上游
- 同一处冲突在同一分支上周期性出现
- 需要保持冲突解决方式前后一致
- 集成阶段频繁变基或合并
- 减少重复性的手工冲突处理
常用命令
常用命令
git config --global rerere.enabled true # 启用冲突解决记录
git rerere status # 查看记录的冲突状态
git rerere diff # 查看记录的解决内容
git rerere # 手动重放已记录的解决方式
git rebase --continue # 处理完冲突后按原流程收尾相关子命令
| 子命令 | 作用 |
|---|---|
| 查看状态 | 列出当前记录的冲突文件 |
| 查看差异 | 显示记录的解决内容 |
| 手动重放 | 套用已记录的解决方式 |
| 开关配置 | 控制整套机制是否启用 |
启用之后解决过的冲突会被记录,遇到相同冲突时自动套用,重复劳动明显减少。
把它当作辅助手段:自动套用的结果仍要读一遍,确认是否符合当前上下文。
缓存保存在本地仓库管理目录里,不随克隆分发,团队成员各记各的,不能当作共享知识库。
定期检查缓存内容,长期积累的旧记录在代码大幅变化后可能不再适用。
它与冲突标记的展示样式互不影响,可以同时启用:一个负责判断依据,一个负责减少重复劳动。