GIT上CSS文件中的持续合并冲突

时间:2010-11-19 11:42:55

标签: css git version-control conflict

我不知道这是否是一个常见问题。大多数时候我们从开发回购中提取CSS文件,GIT与当前文件冲突,通过放置“>>>”完全合并这两个文件和“<<<<最顶部和底部的标记,以及分隔它们的“===”标记。

我们尝试了一些不同的缩进,这有点帮助,但根本没有成功。我们没有任何其他文件类型的问题,在这种情况下,大多数是PHP和JS代码。

如果有帮助,我们已将生产中的所有文本编辑器设置为使用CRLF。

感谢。

2 个答案:

答案 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来停止。