我是git的新手,阅读了很多关于行尾和git如何处理它们的文章。顺便说一下,我正在使用Windows。我已经创建了一个.gitattributes文件,并将*.txt设置为文本格式。当我提交.txt文件时,会收到警告:
“warning: CRLF will be replaced by LF in whatever.txt”
但我知道这一点。我不需要那个警告。替换文本文件中的行尾是我想要的。
现在,将safecrlf设置为false可以消除警告,但是safecrlf的手册上写道:
“如果为true,则使git在活动的换行符转换时检查CRLF是否可逆。 Git将验证命令是否直接或间接地修改工作树中的文件。例如,提交文件后再检出相同的文件应该在工作树中产生原始文件。如果对于core.autocrlf的当前设置不是这种情况,git将拒绝该文件。”
从那以后,safecrlf似乎是一个好主意。然而,我不明白为什么将safecrlf设置为true会给我带来有关我的文本文件的警告;在我看来,这些是不同的问题--有关文本文件的警告和可逆性的检查。实际上,git没有拒绝我的文件。
我能否摆脱文本文件的警告,并仍然保持safecrlf的设置?还是我误解了什么?
“warning: CRLF will be replaced by LF in whatever.txt”
但我知道这一点。我不需要那个警告。替换文本文件中的行尾是我想要的。
现在,将safecrlf设置为false可以消除警告,但是safecrlf的手册上写道:
“如果为true,则使git在活动的换行符转换时检查CRLF是否可逆。 Git将验证命令是否直接或间接地修改工作树中的文件。例如,提交文件后再检出相同的文件应该在工作树中产生原始文件。如果对于core.autocrlf的当前设置不是这种情况,git将拒绝该文件。”
从那以后,safecrlf似乎是一个好主意。然而,我不明白为什么将safecrlf设置为true会给我带来有关我的文本文件的警告;在我看来,这些是不同的问题--有关文本文件的警告和可逆性的检查。实际上,git没有拒绝我的文件。
我能否摆脱文本文件的警告,并仍然保持safecrlf的设置?还是我误解了什么?
:set ff=unix
将文件转换为Linux风格文件,以避免警告。这实际上会修改文件,因此您需要使用:w
保存。 - cforbish