【发布时间】:2023-03-16 04:22:01
【问题描述】:
-
我们可以对某些类型的忽略空格进行 diff:
1)
git diff --ignore-space-at-eol# 忽略 EOL 的空白变化。2)
git diff --ignore-space-change/git diff -b# 忽略空格数量的变化。3)
git diff --ignore-all-space/git diff -w# 忽略全空格 -
我们可以的
git apply --ignore-whitespace\git apply --ignore-space-change# 应用补丁时忽略空白
但是如何从git add * 中排除带有空格更改的文件?
这些解决方案对我不起作用:
1)
git diff -w --no-color | git apply --cached --ignore-whitespace
- 它有时会写入错误并且不会将新文件添加到跟踪中。
2)
git add `git diff -w --ignore-submodules |grep "^[+][+][+]" |cut -c7-`
- 它写入错误并且什么都不做(可能是因为我有二进制文件,而不仅仅是文本文件)
P.S.:也许有办法用上次提交的文件替换文件(末尾或行的空格差异和 EOF 差异之前的空格)?
【问题讨论】:
-
首先,您应该完全避免提交二进制文件。其次,您能否向我们提供您有时遇到的错误消息?
-
为什么需要在本地进行您不想提交的空白更改?
-
我想在我的 git 存储库树中看到真正的变化,但是我有太多的空白变化。
-
对我来说更好的是添加 -p 以仅显示非空白更改
标签: git whitespace gitignore ignore removing-whitespace