git 自动将文件从 CRLF 转换为 LF 不起作用
git auto convert file from CRLF to LF not working
在我们的系统上,我们曾经能够在将文件提交到 git 时将所有 CRLF 转换为 LF。现在这个功能没有了。
这是我所做的:
git config --global core.autocrlf false
完成上述操作后,我使用以下命令进行检查:
git config --list
结果是:
...
core.autocrlf=input
...
core.autocrlf=false
...
很费解。虽然 core.autocrlf
有两个条目,但第一个是 core.autocrlf=input
?如果我取消设置 core.autocrlf
使用:
git config --global --unset core.autocrlf
当我列出 git config:
时,我仍然得到一个条目
core.autocrlf=input
第 2 步:
在我完成 git config --global core.autocrlf false
之后,我将 * text=auto
添加到 .gitattributes
文件中。
但是git还是没有为我自动转换换行符
从 git1.8.1rc1 开始:
"git config --get" used to diagnose presence of multiple definitions
of the same variable in the same configuration file as an error, but
it now applies the "last one wins" rule used by the internal
configuration logic
因此您的第二个设置适用。
有关 core.autoctrlf 选项的更多解释:
If you’re on a Windows machine, set it to true – this converts LF
endings into CRLF when you check out code:
$ git config --global core.autocrlf true
You can tell Git to convert CRLF to LF on commit but not the other way
around by setting core.autocrlf to input:
$ git config --global core.autocrlf input
If you’re a Windows programmer doing a Windows-only project, then you
can turn off this functionality, recording the carriage returns in the
repository by setting the config value to false:
$ git config --global core.autocrlf false
更多解释:
http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Formatting-and-Whitespace
在我们的系统上,我们曾经能够在将文件提交到 git 时将所有 CRLF 转换为 LF。现在这个功能没有了。
这是我所做的:
git config --global core.autocrlf false
完成上述操作后,我使用以下命令进行检查:
git config --list
结果是:
...
core.autocrlf=input
...
core.autocrlf=false
...
很费解。虽然 core.autocrlf
有两个条目,但第一个是 core.autocrlf=input
?如果我取消设置 core.autocrlf
使用:
git config --global --unset core.autocrlf
当我列出 git config:
时,我仍然得到一个条目core.autocrlf=input
第 2 步:
在我完成 git config --global core.autocrlf false
之后,我将 * text=auto
添加到 .gitattributes
文件中。
但是git还是没有为我自动转换换行符
从 git1.8.1rc1 开始:
"git config --get" used to diagnose presence of multiple definitions of the same variable in the same configuration file as an error, but it now applies the "last one wins" rule used by the internal configuration logic
因此您的第二个设置适用。
有关 core.autoctrlf 选项的更多解释:
If you’re on a Windows machine, set it to true – this converts LF endings into CRLF when you check out code:
$ git config --global core.autocrlf true
You can tell Git to convert CRLF to LF on commit but not the other way around by setting core.autocrlf to input:
$ git config --global core.autocrlf input
If you’re a Windows programmer doing a Windows-only project, then you can turn off this functionality, recording the carriage returns in the repository by setting the config value to false:
$ git config --global core.autocrlf false
更多解释: http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Formatting-and-Whitespace