我有一台MacBook,我在Parallels VM中运行Windows。我的开发主要是在Visual Studio中,但我喜欢将Git与Mac shell一起使用(就像它比Windows可用的更好)。
当我执行git diff以确定提交之间发生了什么变化时,我得到的结果是“变化”,这使得git认为实际上已经发生了更多变化。
我知道这是一个古老的问题,我已经做了很多研究,并提出了很多人的不同建议,但我无法解决这个问题。最有希望的信息可以在SO Post找到,但它没有解决我的问题。
以下是我的.gitconfig ...
中的一些相关行[core]
autocrlf = false
safecrlf = false
另外,我的repo根目录中只有一个.gitattributes,只包含...
* text eol=crlf
我可以做些什么来让Git停止思考行结束更改是执行diff时的真正变化?我再次使用Mac shell查看Windows文件,因此这可能是我的问题的一部分。
谢谢!
答案 0 :(得分:2)
我将gdiff
别名为:
git diff -w origin/`git branch | sed --quiet "s/* \(.*\)/\1/p"`
但你可以这样做:
git diff -w
答案 1 :(得分:1)
使用转化工具,例如Perl,perl -i -pne "s/\n/\r\n/g"
文件名
或unix2dos
和dos2unix
。
另见http://en.wikipedia.org/wiki/Newline#Conversion_utilities
有关GIT的配置,请参阅另一个答案:Force LF eol in git repo and working copy