我可以在Git中更改冲突标记吗?

时间:2011-08-03 20:05:15

标签: git

  

可能重复:
  Is it possible to easily change the default conflict markers in Git?

在Git中,当我合并时,我在我的文件中得到这样的字符,标记冲突的部分:

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

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

3 个答案:

答案 0 :(得分:4)

由个人合并驱动程序决定。来自man gitattributes(5)

  

可以定义一些内置的低级合并驱动程序   通过merge属性询问。

     

文本

     

文本文件的常用3向文件级合并。冲突地区   标有冲突标记&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&nbsp;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;。该   您的分支中的版本出现在=======标记之前,并且   合并分支的版本出现在=======标记之后。

[...]

  

定义自定义合并驱动程序

     

合并驱动程序的定义是在.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以使用你的驱动程序。

答案 1 :(得分:0)

我认为您无法更改字符,但您可以使用该工具来解决冲突。试试:

git mergetool

答案 2 :(得分:0)

不,标记字符在git源代码中是硬连线的。似乎有一个选项来改变标记大小,但我认为没有记录(但是?)。

如果你真的有决心,你可以破解消息来源。 (请注意,字符串">>>>>>>"实际上并未显示在任何位置;请查找对marker_size的引用。)

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