【问题标题】:git diff - ^M charactersgit diff - ^M 个字符
【发布时间】:2015-02-20 09:17:17
【问题描述】:

我曾经在做git commit 时得到warnings 关于LF will be replaced by CRLF

我玩过autocrlf,但将其设置为truefalse 都会导致问题。最后,在@Drew Noakes 发表此评论 (LF will be replaced by CRLF in git - What is that and is it important?) 之后,我只是取消了它并修复了 warnings

但是,现在,当我运行 git diff 时,我得到如下输出:

-       original line;
+       new line;^M

发生了什么,有什么办法可以一劳永逸地摆脱这些讨厌的^Ms?

如果有帮助,这是我自己的存储库(即我可以完全控制代码库)并且我使用的是 Mac。

【问题讨论】:

  • 你有 .gitattributes 文件,里面有 core.eol 指令吗?
  • @VonC 我没有,但我确实有一个带有*.pbxproj -crlf -diff -merge 的 .gitattributes 文件。我认为这与问题无关,因为它仅将其应用于 pbxproj 文件。

标签: git


【解决方案1】:

尝试在 tex 文件上运行 dos2unix 或类似程序。

【讨论】:

  • 链接断开。这是一个很好的:dos2unix
  • 警告:这可能会改变你的 git 文件中的每一行。
【解决方案2】:

要删除它们,您可以在 shell 中执行以下操作:

$ find -type f -exec sed -i -e 's/^M//g' {} +

... 您需要使用 [Ctrl+V] [Ctrl+M] 插入 ^M 的位置(请参阅此处了解更多选项 remove ^M characters from file using sed)。既然你在 Mac 上,他们不应该在那之后回来,但我承认我不完全确定 git 不会把他们放回去。

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多