如何告诉git专门为一组文件保留CRLF?将文本文件标记为二进制吗?

问题描述 投票:0回答:1

我想将某个回购中的某些文本文件设置为要以二进制形式克隆/下载。即:在git中绕过CRLF设置,仅克隆每个字节。

上下文

[git中有无数关于CRLF的帖子。但是通常它们与整个项目的常规设置有关,主要取决于您使用的是Linux还是Windows。

但是我面临着前所未有的局面。我愿意在我的项目中设置一个文件夹,其中包含RFC 5322定义的示例电子邮件,这些示例电子邮件的行尾正好是CRLF。这是一个与电子邮件相关的项目,这些将用于单元测试。

如果我离开系统来按需要处理文本文件,则在许多情况下,这些文件将下载为LF

我希望以“二进制模式”“强制”下载这几个文件,因此无论您在git clone的平台或设置上,这些文件都不会丢失单个字节;否则会违反标准。

问题

  • 这可能吗?
  • 我如何在添加或提交时用信号表示[[only这些文件为“二进制”,以便任何愿意克隆的人都可以正确地克隆它们?
  • 我应该使用addcommit开关吗?
git email newline binaryfiles
1个回答
0
投票
您确实可以在.gitattributes文件中将这些文件标记为二进制文件,但这将防止它们被扩散和合并,这可能不是您想要的。更简单的方法是将它们指定为具有CRLF行尾,例如:

*.mbox eol=crlf

这将迫使这些文件以CRLF结尾写入工作树,而不管平台如何。如果出于某种原因确实要将它们标记为二进制,则可以将eol=crlf替换为binary。例如,如果您的电子邮件包含原始的8位未编码数据,则可能需要这样做。
© www.soinside.com 2019 - 2024. All rights reserved.