Git diff -w仅在行的开头和结尾忽略空格

我喜欢使用git diff -w来忽略空白差别。 可是,我只是注意到它忽略了线条中间的空白差别。 我怎么才能忽略行开头(^)或结尾($)的空白差别? git


#1楼

对于行尾使用: spa

git diff --ignore-space-at-eol

而不是你目前使用的是什么: code

git diff -w (--ignore-all-space)

若是你想要一个内置的解决方案,那么你就不幸了! get

可是,若是你不介意弄脏手,那里有一个至关古老的补丁浮出某处,增长了对“--ignore-space-at-sol”的支持。 it


#2楼

这是一个老问题,但仍然常常被查看/须要。 我想发帖告诉像我这样的读者,OP问题中提到的空白与Regex的定义同样,包括换行符,制表符和空格字符--Git要求你明确。 在这里查看一些选项: https//git-scm.com/book/en/v2/Customizing-Git-Git-Configuration io

如上所述, git diff -bgit diff --ignore-space-change将忽略行尾的空格。 若是您但愿将该设置做为默认行为,则如下行将该意图添加到.gitconfig文件中,所以它将始终忽略行结束处的空格: bug

git config --global core.whitespace trailing-space 协议

在个人状况下,我发现了这个问题,由于我有兴趣忽略“回车空白差别”,因此我须要这个: di

git diff --ignore-cr-at-eolgit config --global core.whitespace cr-at-eol这里文件

您也能够将其做为默认只为回购协议经过省略--global参数,并为回购设置文件检查。 对于我遇到的CR问题,若是.gitconfig文件的[core]部分中的warncrlf或autocrlf = true,它会在签入后消失。

相关文章
相关标签/搜索