6

我有一台 MacBook,并且在 Parallels VM 中运行 Windows。我的开发主要是在 Visual Studio 中,但我喜欢将 Git 与 Mac shell 一起使用(就像它比 Windows 更好)。

当我做一个 git diff 来确定提交之间发生了什么变化时,我得到了众所周知的以“变化”结尾的行,这使得 git 认为变化比实际变化大得多。

我知道这是一个古老的问题,我已经根据很多人的不同建议进行了大量研究,但我无法解决这个问题。在这个SO Post中找到了最有希望的信息,但它并没有解决我的问题。

以下是我的 .gitconfig 中的一些相关行...

[core]
    autocrlf = false
    safecrlf = false

另外,我的仓库的根目录中有一个 .gitattributes ,它只包含......

* text eol=crlf

我可以做些什么来让 Git 在执行差异时停止认为行尾更改是真正的更改?同样,我使用 Mac shell 来查看 Windows 文件,所以这可能是我的问题的一部分。

谢谢!

4

2 回答 2

2

我别名gdiff为:

git diff -w origin/`git branch | sed --quiet "s/* \(.*\)/\1/p"`

但你可以这样做:

git diff -w
于 2013-10-10T16:56:42.640 回答
1

使用转换实用程序,例如 Perl、perl -i -pne "s/\n/\r\n/g"文件名

unix2dosdos2unix

另请参阅http://en.wikipedia.org/wiki/Newline#Conversion_utilities

有关 GIT 的配置,请参阅另一个答案:Force LF eol in git repo and working copy

于 2013-02-26T15:50:30.687 回答