Git 通过 .git 下的几个文件记录冲突:

  • 文件 .git/MERGE_HEAD 记录所合并的提交 ID
  • 文件 .git/MERGE_MSG 记录合并失败的信息
  • 文件 .git/MERGE_MODE 标识合并状态

版本库暂存区记录冲突文件的多个不同版本。

解决方式:

对于少量冲突可以手动(在编辑器内)解决;
对于大量冲突,可利用图形界面解决;

其他工具辅助解决冲突

TortoiseGit 小乌龟

打开冲突文件列表
image.png

双击文件列表中的文件,打开图形面板
TODO: 试了一下没搞明白怎么处理冲突
image.png

VsCode 解决冲突

WebStorm 解决冲突

image.png

image.png

遇到的问题

合并文件的时候,遇到冲突:拉取分支 origin/dev => dev,合并 tmp 分支到 dev 上。
发现有一个文件有冲突,并且部分是格式化引起的冲突。遂想可不可以把 dev 上的文件先格式化(tmp 上的文件已经格式化了),然而依旧有冲突,并且发现,webstorm 的冲突界面变化不大,vscode 的界面就简单很多

webstorm 依旧会显示格式相关的冲突:显示 23 个冲突 145个不同
图片.png

VsCode 只有内容冲突对比,没有格式相关的问题:显示 9 个冲突
图片.png