GIT 上 CSS 文件持续合并冲突

发布于 2024-10-03 17:07:46 字数 255 浏览 1 评论 0 原文

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

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

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

谢谢。

I don't know if that's a common problem. Most of the times that we pull a CSS file from our development repo, GIT conflicts with the current file, entirely merging the two files by putting the ">>>" and "<<<" markers at the very top and bottom, and a "===" marker separating them.

We tried some different indentation, and that helped a little, but there's no success at all. We don't have problems with any other file type, most of them are PHP and JS code, in this case.

If that helps, we have set all the text editors on production to use CRLF.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦过后 2024-10-10 17:07:46

这通常是由于某种自动转换造成的。

您可以尝试设置配置autocrlf 在所有 git(开发和产品)中设置为 false

这样,就不会执行自动转换,这有助于消除导致潜在合并冲突的问题?

您是否还有一些空白设置可以引入一些自动修改?


注意:从 git 2.8+(2016 年 3 月)开始,合并标记将不再引入混合行结尾(如 CRLF 文件中的 LF)。
请参阅“让 Git 在其“<<<“合并行”。

This is usually due to an automatic conversion of some kind.

Could you try and set config autocrlf to false in all your git (dev and prod)?

That way, no automatic conversion is performed, which helps removing that issue causing potential merge conflicts?

Do you also have some whitespace setting which could introduce some automatic modification?


Note: starting git 2.8+ (March 2016), merge markers will no longer introduced mixed line ending (like LF in a CRLF file).
See "Make Git use CRLF on its “<<<<<<< HEAD” merge lines".

永不分离 2024-10-10 17:07:46

罪魁祸首是 CRLF...如果某些盒子是 Windows,那么自动 CRLF 转换将导致这些盒子以“unix”格式存储文件,即使在您的情况下,unix(和 mac)盒子正在存储它们以“dos”格式。

解决方案是要么告诉每个人使用“unix”格式,这是 git 项目的典型习惯 - 并允许 Windows 用户使用“dos”格式,因为 git (特别是 msysgit)默认情况下会自动转换。

或者继续使用 CRLF(这里可能是更好的主意),并告诉 Windows 用户停止使用 autocrlf 甚至 safecrlf。

The culprit is the CRLF... If some of the boxes are windows, then automatic CRLF conversion will result in those boxes storing the files in "unix" format, even though in your cases, the unix (and mac) boxes are storing them in "dos" format.

The solution is to either tell everybody to use "unix" format, which is the typical custom with git projects - and allow windows users to use "dos" format because git (particularly msysgit) will automatically convert by default.

Or continue using CRLF (Probably the better idea here), and tell the windows users to STOP using autocrlf or even safecrlf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文