背景
通过界面化git操作代码,遇到如下报错
简单翻译,得到以下内容:
文本相同,但文件不匹配
发现以下差异:
换行符
原因
在Linux中有修改过内容导致的,通过查询资料,其报错问题根源是windows和linux换行符表现形式不同造成的,区别如下表:
windows | linux | MacBook | |
---|---|---|---|
换行符 | \r\n | \n | \r |
ASCII值 | 0x0d0a | 0x0a | 0x0d |
其中:
“\r”在ASCII中表示“换行(LF)”
“\n”在ASCII中表示“回车(CR)”
解决
注:主要在linux中解决由于文件结尾产生的错误
步骤:
1、确认代码无误
2、利用命令“vi -b [filename] ”查看结尾是否多了“^M”
3、文件格式转换
方式一:使用软件dos2unix
下载并安装dos2unix
利用命令:
dos2unix [filename]
完成转换
方式二:手动替换(vim+正则表达式)
利用命令:
vim -b [filename]
打开该文件
在命令模式下输入:
%s/^M//g
或者
g/\^M/s/\^M//
保存并退出
注意:方式二中“^M”的输入方式:ctrl+v+m
版权声明:本文为oneusername原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。