Git mergeStyle

Git 的 mergeStyle 一共有 3 个选项,分别是 merge(默认), diff3, zdiff3

可以通过如下命令设置:

1
git config --global merge.conflictStyle zdiff3

也可以手动编辑 ~/.gitconfig 文件添加以下两行

1
2
[merge]
	conflictStyle = zdiff3

merge

1
2
3
4
5
<<<<<<< HEAD
console.log(123)
=======
console.log(456)
>>>>>>> feature-branch

两个版本互相比较,是需要保留 console.log(123) 还是 console.log(456)

diff3

1
2
3
4
5
6
7
8
9
<<<<<<< HEAD
alert(123)
console.log(123)
|||||||
console.log()
=======
alert(123)
console.log(456)
>>>>>>> feature-branch
两个版本之间多了一个 BASE 版本(竖线跟横线之间),就是两个版本的共同祖先。

zdiff3 (git 2.35+)

1
2
3
4
5
6
7
<<<<<<< HEAD
console.log(123)
|||||||
console.log()
=======
console.log(456)
>>>>>>> feature-branch
2022年1月刚有的新 style, 在 diff3 的基础上,移除那些一样的行。

转换冲突文件的风格

git checkout –conflict=zdiff3 conflicted.txt