LF will be replaced by CRLF in git - What is that and is it important?
Possible Duplicate:
git replacing LF with CRLF
当我创建一个新的rails应用程序时,我在git中看到有关LF替换的警告。 我做
git init
git add。
然后热潮! 我看到几乎所有文件都弹出。 我通常只是继续构建我的应用程序,它在文件的许多更改后消失了。
例:
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in Gemfile.The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in Gemfile.lock.The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in README.
LF和CRLF有什么区别?
从长远来看,我是否应该关注这一点,或者只是忽略它并像往常一样继续前进?
在Unix系统中,行的结尾用换行符(LF)表示。 在窗口中,一行用回车(CR)和换行(LF)表示(CRLF)。 当你从unix系统上传的git中获取代码时,他们只会有一个LF。
如果要关闭此警告,请在git命令行中键入此警告
1 | git config core.autocrlf true |
如果你想做出明智的决定git应该如何处理这个问题,请阅读文档
这是一个片段
Formatting and Whitespace
Formatting and whitespace issues are some of the more frustrating and
subtle problems that many developers encounter when collaborating,
especially cross-platform. It’s very easy for patches or other
collaborated work to introduce subtle whitespace changes because
editors silently introduce them, and if your files ever touch a
Windows system, their line endings might be replaced. Git has a few
configuration options to help with these issues.
1 core.autocrlfIf you’re programming on Windows and working with people who are not
(or vice-versa), you’ll probably run into line-ending issues at some
point. This is because Windows uses both a carriage-return character
and a linefeed character for newlines in its files, whereas Mac and
Linux systems use only the linefeed character. This is a subtle but
incredibly annoying fact of cross-platform work; many editors on
Windows silently replace existing LF-style line endings with CRLF, or
insert both line-ending characters when the user hits the enter key.Git can handle this by auto-converting CRLF line endings into LF when
you add a file to the index, and vice versa when it checks out code
onto your filesystem. You can turn on this functionality with the
core.autocrlf setting. If you’re on a Windows machine, set it to true
– this converts LF endings into CRLF when you check out code:
1 $ git config --global core.autocrlf trueIf you’re on a Linux or Mac system that uses LF line endings, then you
don’t want Git to automatically convert them when you check out files;
however, if a file with CRLF endings accidentally gets introduced,
then you may want Git to fix it. You can tell Git to convert CRLF to
LF on commit but not the other way around by setting core.autocrlf to
input:
1 $ git config --global core.autocrlf inputThis setup should leave you with CRLF endings in Windows checkouts,
but LF endings on Mac and Linux systems and in the repository.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:
1 $ git config --global core.autocrlf false
如果需要,可以使用git core config取消激活此功能
1 | git config core.autocrlf false |
但最好只使用它来消除警告
1 | git config core.autocrlf true |