不将文件视为.gitattributes中的文本



我看到很多带有.gitattributes文件的存储库将行结尾规范化,内容如下:

*.js text eol=lf

这应该只规范化.js文本文件,但他们也明确排除一些二进制文件,如.png文件:

*.png -text

这似乎没有必要,因为第一条规则只适用于基于文本的.js文件。这是正确的吗?或者这只是最佳实践?

我不太清楚你的问题是什么。我要回答的问题是:.gitattributes中,当指示Git执行CRLF行结束转换时,是否有必要或建议将特定文件标记为文本或二进制文件?

答案是:它不是必要的但是是明智的.在没有显式通知的情况下,Git将根据文件内容(不是文件名或扩展名,而是对字节内容的简单统计分析)猜测。Git会不会猜出你的jpg图像是文本,从而破坏它?Git会不会猜出你的程序源代码是二进制的,从而不去做CRLF行结束的调整?我不知道,你也不知道。

Git的猜测非常好。但是,当显式列出文件很容易并且完全消除这种风险时,为什么要冒这个风险呢?

相关内容

  • 没有找到相关文章

最新更新