Git标记文件为二进制文件以避免行分隔符转换

Mot*_*Mot 11 git binaryfiles

我有一个带有示例数据的文本文件,我想把它放在Git控件下(在Windows上).我如何告诉Git将此文件视为二进制文件,因此它不会转换行分隔符(例如存储库中的其他/文本文件).

Jos*_*Lee 14

写下来.gitattributes(在文件目录或更高版本中):

myfile.bin -text
Run Code Online (Sandbox Code Playgroud)

有关详细说明,请参阅手册.


小智 6

将文件标记为二进制文件

Git通常通过检查内容的开头来正确猜测blob是否包含文本或二进制数据.但是,有时您可能要重写它的决定,是因为一个blob包含二进制数据后面的文件中,或者是由于内容,虽然在技术上由文本字符,是不透明的人类读者.例如,许多postscript文件只包含ascii字符,但产生嘈杂和无意义的差异.

将文件标记为二进制文件的最简单方法是取消设置文件中的diff属性.gitattributes:

*.ps -diff

这将导致git生成Binary files differ(或二进制补丁,如果启用了二进制补丁)而不是常规diff.

总结:指定-diff.gitattributes.

  • `diff`只控制git是否尝试显示文件的文本差异,它不是控制行结束转换的属性.`text`是正确的属性. (3认同)

sev*_*rce 5

虽然-text.gitattributes没有工作过,

myfile.bin binary
Run Code Online (Sandbox Code Playgroud)

没有.

  • 这和`-text`有什么区别? (4认同)
  • 二进制是`-crlf -diff`的简写 (2认同)