在.gittributes中将文件夹标记为二进制文件

在.gittributes中将文件夹标记为二进制文件,git,github,Git,Github,我必须在存储库中包含一些文件夹,但我不希望我的git修改它的内容(行尾等) 我已经有一些文件在.gittributes中标记为二进制文件,即图像: *.png binary 但是这条规则指定了特定类别的文件-png文件,但是我想实现这样的效果: /folder_which_i_want_to_mark_as_binary binary 为了固定行尾,可以应用以下说明 UNIX系统 git config --global core.autocrlf input Windows系统 git c

我必须在存储库中包含一些文件夹,但我不希望我的git修改它的内容(行尾等)

我已经有一些文件在.gittributes中标记为二进制文件,即图像:

*.png binary
但是这条规则指定了特定类别的文件-png文件,但是我想实现这样的效果:

/folder_which_i_want_to_mark_as_binary binary

为了固定行尾,可以应用以下说明

UNIX系统

git config --global core.autocrlf input
Windows系统

git config --global core.autocrlf true
或者(在.gittributes中)

如果要将特定文件夹中的所有内容都作为二进制文件处理,可以在
.gittributes
中添加如下内容

*.sh text eol=lf
*.bat text eol=crlf
folder/* binary 
注意:
文件夹
必须是您文件夹的名称。

当前接受的文件夹对我无效。在git的最新版本中,行为可能发生了变化。引用以下手册:

模式匹配路径的规则与.gitignore文件中的规则相同(请参见gitignore[5]),但有几个例外:

  • 禁止使用负面模式
  • 与目录匹配的模式不会递归地匹配该目录中的路径(因此在属性文件中使用尾部斜杠路径/语法是毫无意义的;请改用path/**)
因此,要将整个文件夹视为二进制文件,请使用以下语法:

folder_which_i_want_to_mark_as_binary/** binary

使用git版本2.20.1进行测试。

对于基于unix的系统,您可以根据自己的系统配置行尾。
git config--global core.autocrlf input
对于windows操作系统
git config--global core.autocrlf true
。这应确保正确的线端点。什么类型的文件将存储在您的文件夹中?你不能做文件夹/*二进制文件吗?哦:-(经过一些测试,我最终意识到这不起作用,“folder/”中的所有文件仍由Git修改。请不要使用
core.autocrlf
。使用
为每个人配置行结束设置。gitattributes
@EdwardThomson非常感谢,我将尝试此方法。)approach@EdwardThomson再次非常感谢,本通告oach确实解决了这个问题,你能给出答案吗here@EdwardThomson出于好奇,为什么不使用
core.autocrlf
?用git 2.25.2确认,用git 2.10.0.windows.1Winner版本确认!这应该是公认的答案。行为在某个时候发生了变化吗?