首页 > 解决方案 > 如何删除 git 文件中显示的 ^M 字符

问题描述

在我的 git 存储库上推送代码后,文件中每一行的末尾都会显示 ^M 字符。如何从那里删除这些字符。

这是 git [1] 上的代码截图:https ://i.stack.imgur.com/7T3A5.png

我使用了其他人建议的一些解决方案,例如-

git config --global core.autocrlf true

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

这些解决方案对我没有帮助。如果您有其他解决方法,请为此建议我。

标签: git

解决方案


Git 具有为您的本地平台自动转换行尾的“功能”。我的一些项目为 Windows 和 Unix 平台构建文件 - 这些输出需要针对它们的目标是正确的,无论什么平台正在构建。因此,我更喜欢阻止它进行任何转换并始终保持文件不变。现代文本编辑器可以毫无问题地呈现不同的行尾,我不希望我的版本控制弄乱我的文件。

您需要执行以下所有步骤:

首先,必须通过以下方式禁用行尾更改行为:

git config --global core.autocrlf=false

其次,为了将来保持文件正确(以及在签入“固定”文件之前),签入.gitattributes项目根目录中的文件,如下所示:

*.bat           text eol=crlf
*.cmd           text eol=crlf
*.properties    text eol=lf
*.pl            text eol=lf
*.py            text eol=lf

最后,您需要修复不正确的本地文件。使用以下命令将行尾转换为 LF:

dos2unix filename

或与 CRLF

unix2dos filename

(如果在 Windows 上使用 git-bash shell)。然后检查他们。


推荐阅读