【问题标题】:Removal of CR in Git repository not showing up in the git diff or git status删除 Git 存储库中的 CR 未显示在 git diff 或 git status 中
【发布时间】:2011-12-13 22:32:36
【问题描述】:

我使用 sed one liner 修复了一个存在 CRLF 问题的文件:

sed -i 's/^M//' <filename>

但是,这个文件没有显示在 git status 中,并且 CR 的删除也没有显示在 git diff 中:

git diff HEAD -- <filename>

为了确保这些文件不是某些 .gitignore 或类似排除的一部分,我在文件末尾添加了一个换行符,并且能够在状态和差异中看到文件。

是否有一些配置或其他设置阻止我看到删除 CR 的更改?我确实在 vi 中进入了文件并验证了 CR 确实已成功删除(我确实执行了 Ctrl-V、Ctrl-M 来为 sed 单行创建字符)。

【问题讨论】:

    标签: git newline git-diff git-status git-config


    【解决方案1】:

    我会确保将core.autocrfl 设置为false。 Diff 将作用于存储在存储库中的内容。

    另外,您可以使用 vim -b 检查文件。您可以使用git show HEAD:path/to/your/file.txt 流式传输文件的内容。

    希望这会有所帮助。

    【讨论】:

    • 我转到了另一个问题,现在我回到了分支,它看起来又好了。我几乎想知道是否有人在使用我的全局配置,因为我尝试了各种版本的 autocrlf 并且最初将我的 repo 设置输入(在 Linux 上);自从我最初研究这个以来,我就没有拉过。转到 +1 并默认给出这个答案,因为你是唯一被回复的人:D
    猜你喜欢
    • 2013-04-01
    • 2011-08-17
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多