我今天感觉很慢,但我试图合并一些不使用git的第三方开发人员的代码。他手动从他在印度的Windows机器上发送文件,用Dreamweaver编辑它们(目前他的行结束类型设置为“CR”)。当我获取文件时,在我的MacOSX机器上,它们有窗口行结尾(^ m在vim中)所以我用这个perl命令perl -pe 's/\r\n|\n|\r/\n/g' orders.dev.php > orders.php
剥离它们,它们剥离了windows行结尾并且在我有的文件编辑器中工作得很好。问题是当我尝试将该文件添加到git时,整个文件显示为已更改。如果线路终端是对我有意义的窗口,但我正在剥离它。在做了一些谷歌搜索后,我发现这个github帖子https://help.github.com/articles/dealing-with-line-endings看起来我可以使用git来强制特定的行结尾,或者在Mac的情况下告诉它使用文件没有的任何一个似乎对我没有任何影响。底线我无法弄清楚如何显示实际开发人员所做的更改。它始终显示整个文件已更改。我错过了什么?
P.S。抱歉这个长度,但想表明我不只是在那里提出一个问题。我调查过了。只是出于某种原因尚未发现我所缺少的东西(除了第二杯咖啡)。
答案 0 :(得分:0)
使用git diff -w
,您将忽略空格差异(空格/制表符,行结尾)。这应该可以帮助你看到差异。
对于git,强制将行结束更改为LF(在提交时),命令为git config --global core.autocrlf true
。