我能否更改Git中的冲突标记?

3

可能重复:
如何轻松更改Git中默认的冲突标记?

在Git中,当我合并时,我的文件中会出现像这样的字符,标记有冲突的部分:

<<<<<<<
|||||||
>>>>>>>

是否可以配置Git使用不同的字符代替这些字符?


这些有什么问题? - nes1983
@Andy,我知道,但这次我希望能得到一个有用的答案。我已经尝试删除另一个问题,但系统不允许我这样做。 - Ryan Lundy
这就是编辑问题和悬赏的作用。投票关闭为重复问题。 - Karl Bielefeldt
3个回答

4

由合并驱动程序来决定。从man gitattributes(5)得知:

有一些内置的低级合并驱动程序可以通过合并属性请求。

文本

用于文本文件的通常三方级别合并。冲突区域使用冲突标记<<<<<<<、=======和>>>>>>>标记。您分支中的版本出现在 ======= 标记之前,合并分支中的版本出现在 ======= 标记之后。

[…]

定义自定义合并驱动程序

定义合并驱动程序是在 .git/config 文件中完成的,而不是在 gitattributes 文件中,因此严格来说,本手册页不适合讨论此内容。 然而……

要定义自定义合并驱动程序 filfre,请像这样向 $GIT_DIR/config 文件(或 $HOME/.gitconfig 文件)添加一个部分:

[merge "filfre"]
         name = feel-free merge driver
         driver = filfre %O %A %B
         recursive = binary

也就是说,“text”合并驱动程序执行的操作不符合您的要求,而且无法配置使用哪个符号(尽管可以将其配置为使用更多标记)。但您可以复制粘贴驱动程序,重命名它,用自己的符号替换掉原来的符号,然后配置git使用您的驱动程序。

0

不,标记字符是硬编码在git源代码中的。似乎有一个选项可以更改标记大小,但我认为这还没有记录(尚未?)。

如果你真的决心要做到这一点,你可以修改源代码。(请注意,字符串“>>>>>>>”实际上并不存在;请查找对marker_size的引用。)

如果问题只是因为您不喜欢当前的标记,您可以始终过滤合并后的文件以进行更改。如果您担心标记与文件内容冲突,更改标记大小可能会解决该问题。


0

我认为你不能改变字符,但是你可以使用工具来解决冲突。尝试一下:

git mergetool

2
我知道我可以那样做,但那不是我想要做的。我想改变冲突标记字符。 - Ryan Lundy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接