首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >gitattributes中的`* text=auto eol=lf`会做什么?

gitattributes中的`* text=auto eol=lf`会做什么?
EN

Stack Overflow用户
提问于 2015-04-03 23:32:18
回答 2查看 11.5K关注 0票数 40

我们的.gitattributes文件中包含以下内容:

代码语言:javascript
复制
* text=auto eol=lf

我想要准确地理解这是做什么的。

第一部分是text=auto。从documentation

这可以确保所有Git认为是文本的文件在存储库中都会有规范化的(LF)行结尾。

重要的是,Git只对它检测为文本文件的文件进行标准化。

但是,我对eol=lf部分不是很确定。我认为它也将只对文本文件进行规范化,但我在文档中找不到对它的支持,我们有一个实例,当我们的PNG文件也被规范化时,使它们无效。

有没有像上面这样的设置,基本上是说“对文本文件进行双向标准化,而不对二进制文件进行处理”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-05 22:52:29

Git 2.10 fixed this,现在的行为与预期不谋而合。

票数 33
EN

Stack Overflow用户

发布于 2015-04-08 15:41:25

答案是否定的,Git目前(从2.3起)不能进行自动检测二进制和文本格式的结账EOL转换,因此它只处理文本。解决方法是仅为选定的文件类型指定eol=lf (例如,*.txt),或者相反,使用*.png binary将某些文件类型标记为二进制)。

相关:feature proposal on Git mailing list

* text=auto

这将正确地规范化存储库中的文本文件。然而,第二部分(LF强制签出)目前并不容易实现,因为添加eol=lf也会不幸地处理二进制文件。现在唯一的解决方案是标记某些类型进行转换(例如,*.txt eol=lf),或者相反地,将某些类型标记为二进制(例如,*.png binary)。

这两个文件都有相同的问题:特定的文件类型必须在.gitattributes文件中显式列出,这意味着要么必须提前知道类型,要么所有开发人员必须记住每次项目中出现新的文件类型时都要更新.gitattributes文件。他们不会这么做的。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29435156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档