2011-08-03 66 views
3

可能重複:
Is it possible to easily change the default conflict markers in Git?我可以更改Git中的衝突標記嗎?

在Git中,當我合併,我得到這樣的人物在我的文件,這標誌着衝突部分:

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

是它可以配置Git使用不同的字符來代替這些?

+0

這些有什麼問題? – nes1983

+0

@安迪,我知道,但我希望這次能得到一個有用的答案。我試圖刪除另一個問題,但系統不會讓我。 –

+0

這就是編輯和賞金的問題。投票結束重複。 –

回答

0

我認爲你不能改變字符,但你可以使用該工具來解決衝突。嘗試:

git mergetool 
+2

我知道我可以那樣做,但那不是我想要做的。我想更改衝突標記字符。 –

0

不,標記字符在git源代碼中是硬連線的。似乎有更改標記大小的選項,但我認爲沒有記錄(但?)。

如果你真的確定,你可以破解源代碼。 (請注意,字符串">>>>>>>"實際上並未出現在任何位置;請參閱marker_size。)

如果問題只是您不喜歡當前標記,則始終可以過濾合併的文件以更改它。如果您擔心標記與文件內容衝突,則更改標記大小可能會解決該問題。

4

這取決於個人合併驅動程序。從man gitattributes(5)

有定義,可以是 要求通過合併屬性一些內置的低級別合併的驅動程序。

文字

文本文件通常的3路文件級合併。衝突區域 標有衝突標記< < < < < < <,=======和>>>>>>>。來自分支的 版本出現在=======標記之前,並且合併分支中的 版本出現在=======標記之後。

[...]

定義自定義合併司機

合併驅動器的定義在的.git/config文件進行,而不是在gitattributes文件 ,所以嚴格地說本手冊頁是 錯誤的地方談論它。但是...

要定義自定義合併驅動程序filfre,請在您的$ GIT_DIR/config文件(或$ HOME /。)中添加一個部分到您的 。gitconfig文件)是這樣的:

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

那就是:「文本」合併司機做了你不喜歡的東西,不能被配置爲使用什麼符號(儘管你可以配置爲使用更多的標記)。但是,您可以複製粘貼驅動程序,重命名它,用您的符號替換該符號,然後配置git以使用您的驅動程序。

相關問題