Git diff ^M的消除

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

Windows用CR LF来定义换行,Linux用LF。CR全称是Carriage Return ,或者表示为\r, 意思是回车。 LF全称是Line Feed,它才是真正意义上的换行表示符。为什么Windows添加一个CR和LF组合表示,我并不清楚。不过如果用git diff的时候看到^M字符,就说明两个文件在换行符上有所差别。

比如从我的Windows开发的同时那边拿来一个目录,就会发现几乎所有的文件都被修改过了。其实并不是这样,都是由于文件多了CR后造成的。

下面简单的方法可以让git diff的时候忽略换行符的差异:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 挺全的参考 git学习笔记 Your branch is ahead of 'origin/master' by ...
    CharlyZheng阅读 1,069评论 0 0
  • 写在前面 VCS中集中式与分布式的差别集中式的服务器如果挂了,那么所有人都挂了,因为完整仓库只存在服务器上 ; 而...
    小贱西风阅读 555评论 0 1
  • 操作系统 window10学习来源: http://www.liaoxuefeng.com/wiki 常用 创建...
    hopevow阅读 799评论 0 17
  • 大学同学:善良、聪明、没心眼、情商低 同事:善良、有主见、有亲和力、认真 弟弟:好强、知性、理智、情绪化 我自己:...
    小小笨鸟可爱多阅读 221评论 0 0
  • 梦幻旗袍 那天,我看见你穿着旗袍做饭 切肉刮山药 洗鱼择青菜 炒菜烧汤 那天,我看见你穿着旗袍梳妆 久久凝望镜中人...
    黄土不多百年太久阅读 177评论 0 1