git - `git add` 将 ^M 添加到每一行的末尾

标签 git vim special-characters newline add

我在 Ubuntu 14.04 上。我正在使用 Vim 编辑文件。突然,我开始注意到我使用 git diff filename 看到的更改在我插入或更改的每一行的末尾都包含 ^M。因此,在我将 git add 运行到 filename 之后,我看到 git diff --staged 每一行都有 ^M 在最后 因此这就像我对整个文件进行了更改 即使我只更改了一行强>.请帮助我了解这里发生了什么。

最佳答案

您的文件是否随时从 Windows 计算机 checkin ? Windows 将 CR+LF 添加到行尾,而其他操作系统仅使用 LF。如果您已将 core.autocrlf 设置为 false,则 git diff 会将 CR 字符高亮显示为 ^M。要关闭此功能,您可以更改 core.whitespace 设置:

git config --global core.whitespace cr-at-eol

关于git - `git add` 将 ^M 添加到每一行的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076760/

相关文章:

vim - 在 Vim 中从光标向后删除到上一行的末尾?

c++ - 如何从 char 数组中读取 "%"字符并使用 fprintf_s 将其写入文件?

utf-8 - 如何强制唯一区分全破折号和短破折号?

windows - Git 克隆在 Windows 10 中显示错误并将文件标记为已删除

git merge 拒绝丢失未跟踪文件失败

git - GitHub 可以自动 merge 分支吗?

git - 如何恢复 git 历史记录重写?

vim - 使用 <Esc> 在 vi​​m 中保存宏

python - 注释 (#) 在 Vim 的插入模式中转到行首

javascript - 从特殊字符之前和之后的字符串中获取值 - Jquery