2010-11-19 36 views
2

我不知道這是否是一個常見問題。大多數情況下,我們從我們的開發回購協議中提取CSS文件,GIT與當前文件衝突,通過將「>>>」和「< <」標記置於頂部和底部完全合併這兩個文件,以及一個「===」標記將它們分開。GIT上CSS文件中的連續合併衝突

我們嘗試了一些不同的縮進方式,這有所幫助,但沒有成功。我們沒有任何其他文件類型的問題,在這種情況下,大多數是PHP和JS代碼。

如果有幫助,我們已經將生產中的所有文本編輯器設置爲使用CRLF。

感謝。

回答

5

這通常是由於某種自動轉換造成的。

你可以嘗試和設置config autocrlf to false在你所有的git(dev和prod)?

這樣,不執行自動轉換,這有助於消除導致潛在合併衝突的問題?

你是否還有一些空白設置可以引入一些自動修改?注意:啓動git 2.8+(2016年3月),合併標記將不再引入混合行結尾(如CRLF文件中的LF)。注意:啓動git 2.8+(2016年3月),合併標記將不再引入混合行結尾(如CRLF文件中的LF)。
請參閱「Make Git use CRLF on its 「<<<<<<< HEAD」 merge lines」。

3

罪魁禍首就是CRLF ...如果某些框是窗口,那麼自動CRLF轉換將導致那些以「unix」格式存儲文件的框,即使在您的情況下,unix(和mac)盒子以「dos」格式存儲它們。

解決方案是要麼告訴大家使用「unix」格式,這是git項目的典型定製 - 並且允許windows用戶使用「dos」格式,因爲git(特別是msysgit)會默認自動轉換。

或繼續使用CRLF(這裏可能是更好的主意),並告訴Windows用戶使用autocrlf甚至safecrlf停止。