行结束转换是如何与git核心一起工作的。
问号应该是什么?
这个矩阵对“非问号”是正确的吗?
core.autocrlf value true input false ---------------------------------------------------------- commit | convert ? ? new | to LF (convert to LF?) (no conversion?) commit | convert to ? no existing | LF (convert to LF?) conversion checkout | convert to ? no existing | CRLF (no conversion?) conversion
--
core.autocrlf=false
这是默认情况,但大多数人都被鼓励立即改变这种情况。使用false的结果是,Git永远不会处理文件中的行尾。你可以签入的文件与LF或CRLF或CR或随机混合的这三个和Git不在乎。这可能会使差异更难阅读和合并更加困难。大多数在Unix/Linux环境中工作的人使用这个值是因为他们没有CRLF问题,而且每当文件被写入对象数据库或写入工作目录时,他们不需要Git做额外的工作。
core.autocrlf=true
这意味着Git将处理所有文本文件,并确保在将该文件写入对象数据库时用LF替换,并在写入工作目录时将所有LF转换回CRLF。这是在Windows上推荐的设置,因为它确保您的存储库可以在其他平台上使用,同时将CRLF保留在您的工作目录中。
core.autocrlf=输入
这意味着Git将处理所有文本文件,并确保在将该文件写入对象数据库时用LF替换CRLF。然而,它不会适得其反。当您从对象数据库中读取文件并将它们写入工作目录时,它们仍然有LFS来表示行尾。此设置通常用于Unix/Linux/OSX,以防止CRLFs被写入存储库。这样做的想法是,如果您从Web浏览器粘贴代码,并意外地将CRLF放入您的文件中,则Git将确保在写入对象数据库时将它们替换为LFS。
智慧大石
桃花长相依