前言: 

在git提交代码时,执行git diff 命令发现在每一行修改后多出“^M”,并且还多出了几行无效修改(本地未作任何修改,但是git diff时显示有修改并且看不出修改了何处),这样的代码是肯定不能提交的,那么如何解决这种问题呢?

“^M”产生的原因:

这是由于换行符在不同的操作系统上定义的区别造成的。

Windows用CR LF来定义换行,Linux用LF。CR全称是Carriage Return ,或者表示为\r, 意思是回车。 LF全称是Line Feed,它才是真正意义上的换行表示符。至于为什么Windows使用CR和LF的组合表示,这个我就不得而知了。

解决方法:

git config --global core.whitespace cr-at-eol //该命令可以让git diff的时候忽略换行符的差异

以上方法是我其他博客中查到的,对于大部分情况下是可用的(通过网友留言反馈),但是该方法对我却不起任何作用,无奈只能另辟蹊径,接下来请看终极大法,通过三行命令完美解决问题。

git diff --ignore-space-at-eol > ~test.diff

git checkout .

git apply --ignore-whitespace \~test.diff 

亲测有效~

Git diff ^M与无效修改的消除相关推荐

  1. git show查看本地文件的修改部分,git diff 如何比较文件,git grep 搜索

    一.git pull 报错 报错信息: fatal: 'origin' does not appear to be a git repository fatal: Could not read fro ...

  2. 【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )

    文章目录 一.添加暂存文件 git add 二.提交文件至版本库 git commit 三.查看版本库状态 git status 四.查询文件修改 git diff 一.添加暂存文件 git add ...

  3. vscode +git diff 快速定位修改差异

    下载git插件 在扩展栏里,查询git,安装GitHub Pull Requests and Issues 在源代码管理栏里,找到更改 里面有git diff修改的地方点击放弃更改按钮可以批量放弃修改

  4. Visual Studio常用功能的设置(1)---安装插件、修改字体、查看历史记录、git diff

    文章目录 1.安装插件(Extensions) (1)使用vs自带下载安装渠道 (2)直接去Extensions market 下载 (3)通过github搜索具体插件名 2.修改VS不同区域的字体 ...

  5. Git忽略文件(.ignore)以及git status,git diff,git rm命令

    在之前的两篇文章中简单介绍了与git相关的基础知识,如果想要熟练和快速运用git,还需要熟悉git的其他相关的命令.这一篇文章就是关于git的一些常用的"其它命令" 忽略文件 如果 ...

  6. Git 常用操作(5)- git clone/git checkout -b/git diff/git push/git pull

    1. git clone--获取远程仓库 当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容.它只会获取数据然后 让你自己合并. 然而,有一个命令叫作 git p ...

  7. git diff Git查看版本改动

    git diff git diff命令用于显示提交和工作树等之间的更改.此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容. 描述 在工作树和索引或树之间 ...

  8. git diff的用法

    在git提交环节,存在三大部分:working tree(工作区), index file(暂存区:stage), commit(分支:master) working tree:就是你所工作在的目录, ...

  9. git diff命令输出的含义

    以Kconfig文件为例,修改之前: 在第3行输入#sundi,第4行输入#Andy,如下图: git diff Kconfig输出的结果: index 048d9fa..ab9eb5f 100755 ...

最新文章

  1. Ubuntu系统查看文件夹目录
  2. 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(六)ndoutils安装
  3. 【iOS与EV3混合机器人编程系列之中的一个】iOS要干嘛?EV3能够更酷!
  4. python scatter 简书_【挖掘模型】:Python-DBSCAN算法 - 简书
  5. linux c之c语言符合标准的头文件和linux常用头文件
  6. 东财网络学校计算机统考真题,东北财经大学网络教育学院高中起点计算机基础入学测试模拟题(一)...
  7. git版本库--常用命令
  8. 什么情况下不应该使用深度学习?
  9. mysql数据库 怎么替换_mysql数据库替换
  10. 一位考研党亲自整理的大学计算机网络基础知识总结(不看后悔版)
  11. 逻辑思维与写作-第一章,第二章-随笔笔记
  12. 视频动作识别调研(Action Recognition)
  13. 蓄水池采样算法的python实现_蓄水池抽样算法(Reservoir Sampling)
  14. Redis的穿透、击穿、雪崩问题
  15. 五、SQL–索引/约束④(check约束)
  16. SAP 接口主动推送企业微信异常消息
  17. RealPlayer 11 简体中文最新正式版下载
  18. PDF杂谈二 如何实现无纸化办公?
  19. 为什么现在的大学生喜欢去报名软件培训班
  20. 美团产品经理助理实习生笔试小计

热门文章

  1. 【转】Android 4.0.3 CTS 测试
  2. 2020京东社招笔试编程题-数据分析岗
  3. 一个十年苹果脑残粉对iOS的深度吐槽
  4. 《Maven实战》读书笔记
  5. unary operator expected
  6. mysql set date_setDate()日期的设置
  7. html setdate方法,setDate()方法_用法示例-javascript词典-js编程词典-php中文网
  8. 达梦数据库在docker上的运行和添加rlwrap环境变量
  9. Kali渗透测试:网络数据的嗅探与欺骗
  10. 自学数据分析100天后,我做了个总结