Git非舞台线,唯一的变化是白色空间?

Bja*_*sen 8 git whitespace indentation

我有一个源代码文件,由于某种原因最终导致混合缩进(用于缩进的空格和制表符).

我做了很多更改,现在我希望在git中提交这些更改.不幸的是,我偶然指示我的编辑修复所有缩进.所以现在看起来我已经修改了很多行,其中唯一的变化是对空白的更改.

我的提交必须由我在Gerrit的同事进行审核,因此只有更改只有空格的更改行会显示,因为更改会增加很多噪音.

如何取消暂存文件中的所有行,其中唯一的变化是空白(或缩进),这样我的git commit只包含实际更改的行?

(或者,我怎样才能仅在多个空格被更改的情况下对文件的行进行分段?)

gri*_*ure 8

 git diff -w --no-color [file names] | git apply --cached --ignore-whitespace
Run Code Online (Sandbox Code Playgroud)

基本上它应用了将在没有空格更改的情况下应用的补丁.你会注意到,在那之后仍然会有未分级的更改,这是剩下的空白,检查它们运行:git checkout .