我不知道这是否是一个常见问题。大多数时候我们从开发回购中提取CSS文件,GIT与当前文件冲突,通过放置“>>>”完全合并这两个文件和“<<<<最顶部和底部的标记,以及分隔它们的“===”标记。
我们尝试了一些不同的缩进,这有点帮助,但根本没有成功。我们没有任何其他文件类型的问题,在这种情况下,大多数是PHP和JS代码。
如果有帮助,我们已将生产中的所有文本编辑器设置为使用CRLF。
感谢。
答案 0 :(得分:5)
这通常是由于某种类型的自动转换。
您可以尝试在所有git(dev和prod)中设置 config autocrlf
to false
吗?
这样,不会执行自动转换,这有助于消除导致潜在合并冲突的问题?
你是否也有一些空白设置可以引入一些自动修改?
注意:启动git 2.8+(2016年3月),合并标记将不再引入混合行结尾(如CRLF文件中的LF)。
请参阅“Make Git use CRLF on its “<<<<<<< HEAD
” merge lines”。
答案 1 :(得分:3)
罪魁祸首是CRLF ...如果某些方框是窗口,那么自动CRLF转换将导致那些以“unix”格式存储文件的方框,即使在你的情况下,unix(和mac)框也是如此以“dos”格式存储它们。
解决方案是告诉每个人使用“unix”格式,这是git项目的典型自定义 - 并允许Windows用户使用“dos”格式,因为git(特别是msysgit)将默认自动转换。
或继续使用CRLF(这可能是更好的主意),并告诉Windows用户使用autocrlf甚至safecrlf来停止。