GIT 中解决合并冲突时没有箭头/标记

GIT 中解决合并冲突时没有箭头/标记

我目前遇到了合并冲突,通常我可以手动编辑它们。但现在,我的问题是文件没有显示任何箭头/标记(>>>>、<<<<< 和 ====),我可以在里面编辑它。

问题是我可能有很多未提交的更改,并且还有一个新添加的文件和一个新创建的二进制文件。

我该如何解决这个问题?

答案1

听起来你可能意外地为文本文件启用了联合合并驱动程序。检查merge=union以下任一属性文件位置中的文件类型:

  • .git/info/attributes在存储库中
  • .gitattributes在存储库中
  • core.attributesfile选项 (run git config --list)引用的文件

来自gitattributes 手册页

merge当 git merge 期间需要进行文件级合并时,该属性会影响文件的三个版本的合并方式,以及其他命令,例如 git revert 和 git cherry-pick。

...

内置合并驱动程序

定义了一些内置的低级合并驱动程序,可以通过合并属性进行请求。

文本

文本文件通常采用 3 路文件级合并。冲突区域用冲突标记 <<<<<<<、====== 和 >>>>>>> 标记。来自您分支的版本出现在 ======= 标记之前,而来自合并分支的版本出现在 ======= 标记之后。

...

联盟

对文本文件进行三向文件级合并,但从两个版本中取出行,而不是留下冲突标记。这会导致结果文件中添加的行以随机顺序排列,用户应验证结果。如果您不了解其含义,请不要使用此功能。

相关内容