Git第二次将release分支合并到master时避免重复解决冲突的方法
Git 重复合并冲突规避方案
你可以使用Git内置的rerere(全称 reuse recorded resolution,复用已记录的解决方案)功能实现需求,这是Git专门为反复合并同类冲突场景设计的特性,开启后会自动记录你每次解决冲突的方案,下次遇到完全相同的冲突块时会自动套用,无需重复处理。
具体操作步骤
1. 开启rerere功能
执行以下命令全局开启该功能,所有本地仓库都会生效:
git config --global rerere.enabled true
如果只需要对当前仓库生效,去掉命令中的--global参数即可。
2. 补录历史冲突解决记录(可选)
如果你第一次合并(M1)时还没开启rerere功能,可以手动补录当时的冲突解决方案,操作如下:
- 切换到第一次合并前的master分支节点(即你分支图中的C3提交)
- 执行合并release分支对应提交(即分支图中的D2提交)的命令,待冲突出现后,将M1提交中已经解决好的文件内容覆盖到当前冲突文件
- 执行
git rerere,Git就会将该冲突对应的解决方法永久记录到本地缓存
3. 执行第二次合并
完成上述配置后再执行M2合并操作,Git会自动识别出和第一次合并相同的冲突块,直接套用已记录的解决方案,你只需要处理两次合并之间新产生的冲突即可。
注意:自动合并完成后建议先校验文件内容是否符合预期,确认无误后再提交合并结果。
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

