所以我在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.diff
和git config --global core.whitespace cr-at-eol
,即使有效,该应用也会显示几乎所有代码行都因为新线。
如果我在Git GUI或WinMerge之类的内容中检查应用的补丁,它会显示正确的更改,因为它们忽略了换行符,但是diff或apply命令正在考虑换行符差异,以及我发现的所有内容在网上尝试只是没有得到正确的结果。
我找到了关于git rm --cached -r .
的内容,但它要求所有文件都用"修复"换行...这对我们的项目来说是不可行的(并且没有必要)。
我只是没有运行正确的组合或命令和选项,或者我应该做什么?