git diff ^M的消除

Posted 云旗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git diff ^M的消除相关的知识,希望对你有一定的参考价值。

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

 

Windows用CR LF来定义换行,Linux用LF。

CR全称是Carriage Return ,或者表示为\r, 意思是回车。

LF全称是Line Feed,它才是真正意义上的换行表示符。

如果用git diff的时候看到^M字符,就说明两个文件在换行符上有所差别。

 

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

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

 

更好的方法是每个项目都有一个.gitattributes文件,里面配好了换行符的设置,参考

https://help.github.com/articles/dealing-with-line-endings

以上是关于git diff ^M的消除的主要内容,如果未能解决你的问题,请参考以下文章

git 使用详解—— commit -a -m/diff --staged/rm/mv

git diff提示filemode发生改变

如何使用 vimdiff 来 git diff /svn diff

vs code初体验

在 git-diff 的输出中着色空白

如何在预提交挂钩中使用 git diff 的退出代码