适用于Windows的git:似乎无法避免CR / LF差异修补应用错误

时间:2017-04-27 21:05:32

标签: windows git diff apply

所以我在Windows中使用在* nix上运行的repo运行git,其中git检查Windows样式的换行符(行结束CRLF)但是提交* nix-style(LF),但是我可以&#39无论我尝试过什么,都可以在没有任何致命障碍的情况下获得差异/应用。

例如,我将一个diff运行到一个提交到另一个提交的文件,如:

git diff commit1 commit2 > patch.diff

但是当我运行git apply patch.diff时,我会收到如下错误:

trailing whitespace patch failed patch does not apply

我已尝试设置git config --global core.autocrlf true,尝试git apply --ignore-space-change --ignore-whitespace patch.diffgit config --global core.whitespace cr-at-eol,即使有效,该应用也会显示几乎所有代码行都因为新线。

如果我在Git GUI或WinMerge之类的内容中检查应用的补丁,它会显示正确的更改,因为它们忽略了换行符,但是diff或apply命令正在考虑换行符差异,以及我发现的所有内容在网上尝试只是没有得到正确的结果。

我找到了关于git rm --cached -r .的内容,但它要求所有文件都用"修复"换行...这对我们的项目来说是不可行的(并且没有必要)。

我只是没有运行正确的组合或命令和选项,或者我应该做什么?

0 个答案:

没有答案