记一次 GitHub 出现 ^M 符号的解决办法

记一次 GitHub 出现 ^M 符号的解决办法

1、参考资料

  1. Git提交去除^M
  2. git 在linux出现^M符号解决方法
  3. Configuring Git to handle line endings
  4. Git自动换行符

2、原因寻找

问题原因

  1. 在GitHub 仓库中文件出现 ^M 符号

    image-20210202111959214

  2. 使用 IDEA 打开却显示正常。。。

    image-20210202112033647

  3. 我丢雷老母,这一看肯定是换行符出了问题,原因是在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。

  4. 但是我们这个问题却有点奇怪,有些换行正常,有些换行不正常(变为 ^M 符号)

    image-20210202112416591

失败的尝试

好多博客都说需要开启 Git 的自动换行功能,执行 git config --global core.autocrlf true 命令之后,当检出文本文件时,Git 会将 LF 转换为 CRLF。当提交文本文件时,CRLF 将会被转换为 LF

上面这句话是不是在哪儿见过?在安装 Git 的时候,默认设置就是 core.autocrlf = true,所以说不是这个问题

image-20210202113425480

3、解决办法

  1. 那就是换行符不一致的问题。。。将文件用 Sublime Text 打开,选择【查看】–>【行尾】–>【Windows】,将换行符统一替换为 Windows 换行符,并保存文件

    image-20210202113557960

  2. 使用 git add 指令将文件添加至暂存区后,使用 git status 指令查看文件状态,显示文件已经被修改,再次验证了我们的猜测

    image-20210202113707891

  3. 推送至远程库后,文件中已经没有了 ^M 符号,原来是 Copy 代码的时候,这段代码本身的换行符就有问题啊~~~

    image-20210202113856543

猜你喜欢

转载自blog.csdn.net/oneby1314/article/details/113706232