【问题标题】:Git Warning: LF will be replaced by CRLFGit 警告:LF 将被 CRLF 取代
【发布时间】:2014-09-05 23:42:23
【问题描述】:

我正在使用 Git gui。我看到一个文件夹中的多个文件出现此错误。我有两个选择按钮 - Unlock indexContinue。我不明白按钮的作用。我看到其他 SO 帖子告诉 我忽略了警告,但他们没有提到如何在 GUI 中执行此操作。请告诉我应该按哪个按钮以及为什么。 谢谢。

这是错误信息示例 -

更新 Git 索引失败。将自动启动重新扫描以重新同步 git-gui。

警告:在 gen/com/click4tab/pustakalpha/BuildConfig.java 中,LF 将被 CRLF 替换。 该文件将在您的工作目录中具有其原始行结尾。 (对其他文件重复上述消息)

【问题讨论】:

标签: git git-gui


【解决方案1】:

设置CRLF,问题就会“消失”

# Option 1:
git config --global core.autocrlf false

# Option 2:
`git config --global core.safecrlf false`

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

【讨论】:

  • 我以前看过这个链接。它没有告诉我有关 GUI 选项的任何信息。
  • 这个问题可能不是很理想,但很清楚:“请告诉我应该按哪个按钮以及为什么。”,即git gui 级别。感谢您的回答,但它主要要求用户在git 级别(不是git gui)执行一些全局更改,对所有当前和未来的存储库产生永久影响,而没有任何关于实际发生的事情或最初问题的解释方法。您确定该命令实际上是用户(或问题的未来读者)需要的吗?
  • 我认为将 autocrlf 设置为 false 不是一个好主意。 Mac 和 Windows 处理行尾的方式不同。如果完全确定我只能在 PC 上工作,我只会将其设置为 false。
  • 重要的不是autocrlf,而是safecrlf
【解决方案2】:

我做了一些测试,两个按钮的行为是相同的。 文件内容没有任何变化。 我期待一个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++ 设置有问题。 UnixLF在新建文件中的使用 因此,在我的文档之间暂存的是使用 CRLF 的文件(旧的)和仅使用 LF 的文件(新的)。我将新创建的文档转换为使用CRLF。 因为在我看来,最好让所有文件都采用相同的格式...... 您可以使用第一个评论选项。 在这种情况下,该工具将省略此(换行符)检查!

【讨论】:

    【解决方案3】:

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

    git config --global core.safecrlf false
    

    autocrlf是控制add/checkout时是否变换行结束,而safecrlf是控制在进行这种变换时是否警告用户。

    【讨论】:

      【解决方案4】:

      Soo,我也有这个问题。我修复它,简单,由 IDE 使用。

      使用 IDE(智能理念)。

      然后在使用 IDE 之后.. 没问题)

      【讨论】:

        【解决方案5】:

        要解决这个行尾问题,你可以像这样为 Windows 配置 git:

        git config --global core.autocrlf true
        

        对于 MacOs/Linux 用户,您将其配置为:

        git config --global core input
        

        【讨论】:

          猜你喜欢
          • 2011-12-15
          • 1970-01-01
          • 2010-12-08
          • 2013-07-11
          • 2022-11-10
          • 2011-09-23
          • 1970-01-01
          • 2021-08-07
          • 2019-04-16
          相关资源
          最近更新 更多