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

时间:2014-05-28 11:51:04

标签: git whitespace indentation

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

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

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

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

(或者,我怎样才能只修改超过空格的文件行?)

1 个答案:

答案 0 :(得分:8)

 git diff -w --no-color [file names] | git apply --cached --ignore-whitespace

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