[英]Line Endings AutoDetect in Windows and Linux
我已经看到这个问题被问了很多,并且我已经阅读了关于它的材料。
我仍然很困惑,我遇到了一些相互矛盾的意见。
在我的环境中,开发发生在 Windows 和 Linux 机器上。 有问题的文件没有扩展名,但包含文本,并且需要具有 LF 结尾以符合 Linux 方面。
我想创建一个 .gitattributes 文件,以便集中地只需要进行一项更改。
我将所有文件指定为二进制文件(例如图像和音频),以避免每个文件都被转换,以及为其他文件创建规则。
我已经看到有关使用的建议:
* text=auto
根据此处的另一个堆栈溢出帖子:
这是 * text=auto 用我的话来说的:当有人提交一个文件时,Git 会猜测该文件是否是文本文件,如果是,它将提交一个所有 CR + LF 字节都被替换的文件版本与 LF 字节。 它不会直接影响文件在工作树中的外观,还有其他设置可以在签出文件时将 LF 字节转换为 CR + LF 字节。
这对我的目的来说似乎是错误的。
当从 Linux 机器克隆存储库并签出一个分支时,听起来它会将其转换为工作目录中的 CRLF。
工作目录中的行尾是否取决于操作系统? 它会自动检测吗?
我需要它是 Linux 工作目录中的 LF。 在 Windows 我不太在意。 但它需要在 Linux 和远程存储库中都是 LF
* text=auto
会完成我正在寻找的东西吗?
* text=auto eol=lf
会更好地满足我的目的吗?
提前致谢
根据我在git help attributes
上读到的内容,您应该使用您说的最后一句话:
* text=auto eol=lf
从文档中:
Set to string value "lf"
This setting forces Git to normalize line endings to LF on checkin and prevents conversion to CRLF when the file is checked out.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.