Git警告:LF将被CRLF取代

时间:2014-07-15 16:55:51

标签: git git-gui

我正在使用GIT gui。我在文件夹中的几个文件中看到此错误。我有两个选择按钮 - 解锁索引并继续。我不明白按钮的作用。我看到了其他SO帖子 我忽略了警告,但是他们没有提到如何在GUI中这样做。请告诉我应按哪个按钮以及为什么。 感谢。

以下是错误消息示例 -

Updating the Git index failed.  A rescan will be automatically started to resynchronize git-gui.

warning: LF will be replaced by CRLF in gen/com/click4tab/pustakalpha/BuildConfig.java.
The file will have its original line endings in your working directory.
(repeat above messages for other files)

3 个答案:

答案 0 :(得分:4)

设置CRLF,问题将会消失"

git config --global core.autocrlf false

https://help.github.com/articles/dealing-with-line-endings

答案 1 :(得分:1)

重要的不是autocrlf,而是safecrlf。使用下面的命令来抑制警告。

git config --global core.safecrlf false

autocrlf 是控制在 add/checkout 时是否变换行尾,而 safecrlf 是控制在进行此类变换时是否警告用户。

答案 2 :(得分:0)

我做了一些测试,两个按钮的行为是相同的。 文件内容没有任何变化。 我希望有一个 LF -> CRLF 替代品。 取而代之的是(在这两种情况下)我收到一条错误消息:

wrong # args: should be "ui_status msg"
    while executing
"ui_status [mc "Ready to commit."] ui_ready"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $after"
    (procedure "select_first_diff" line 8)
    invoked from within
"select_first_diff $after "
    (procedure "rescan_done" line 15)
    invoked from within
"rescan_done $fd buf_rlo $after"
    (procedure "read_ls_others" line 14)
    invoked from within
"read_ls_others file2a1c920 {ui_status [mc "Ready to commit."] ui_ready}"

摆脱这个(对于 Windows):

就我而言,我发现 Notepad++ 设置的错误设置。 在新创建的文件中使用 Unix LF 因此,在我的文档之间暂存的是使用 CRLF(旧文件)的文件和仅使用 LF(新文件)的文件。我将新创建的文档转换为使用 CRLF。 因为在我看来最好让所有文件都采用相同的格式...... 您可以使用第一个评论选项。 在这种情况下,该工具将省略此(换行)检查!