我是git的新手,我已经阅读了很多关于行结尾的内容
git如何对待他们。顺便说一句,我在Windows上。我做了
一个.gitattributes
文件,例如* .txt设置为文本。
当我提交.txt文件时,我收到警告:
警告:CRLF将被替换为LF in whatever.txt
但我知道。我不需要那个警告。更换线 文本文件中的结尾是我想要的。
现在,将safecrlf
设置为false会发出警告
消失,但safecrlf
的手册内容为:
如果为true,则进行git检查转换CRLF是否可逆 当行结束转换处于活动状态时。 Git会验证是否 命令直接修改工作树中的文件 或间接的。例如,提交文件后跟 签出同一个文件应该产生原始文件 在工作树中。如果不是当前的情况 设置core.autocrlf,git将拒绝该文件。
从那以后,safecrlf
似乎是一个好主意。
但是,我不明白为什么将safecrlf
设置为true
给我关于我的文本文件的警告;在我看来,这
这些是不同的问题 - 对文本文件和文本的警告
检查是否可逆。的确,git不会拒绝我的
文件。
我是否可以删除文本文件的警告,但仍然可以 {{1套?或者我误解了什么?
答案 0 :(得分:16)
据我所知,将core.safecrlf
设置为false
是唯一关闭该警告的方法。
safecrlf
。 safecrlf
的要点是防止假设在存储库中具有混合(或非LF)行结尾的文件中的规范化。它实际上只与core.autocrlf
组合使用(以确保其自动猜测无法销毁任何东西),如果您通过.gitattributes
设置自己的属性,那么应该可以将所有这些关闭。
答案 1 :(得分:11)
在.gitattributes
中,你可以:
# normalize text files to use lf
text eol=lf
# except these which we want crlf
*.txt eol=crlf
答案 2 :(得分:6)
你问题的简短回答是否定的。
因为,基本上,core.safecrlf设置控制“警告级别”:
所以,你必须选择最适合你的选项。
答案 3 :(得分:1)
使用
$ git config core.autocrlf false