Git 或 Stash - 有什么方法可以排除代码重新格式化出现在差异中?

Git or Stash - Any way to exclude code reformatting from appearing in diffs?

例如,在 IntelliJ 等 IDE 中执行 "Reformat Code" 操作可能会对代码产生大量格式更改。随后,当提交文件并在 Git 和 Stash 中查看差异时,差异中的格式更改使更改难以阅读。

有没有办法告诉 Git 或 Stash 忽略格式更改?

您可以告诉 git 忽略 空格 更改(请参阅 git diff --help 中的各种 --ignore-* 选项)。如果您的重新格式化改变的不仅仅是空格,Git 真的不可能区分 "reformatting" 和 "legitimate change"。

处理此类事情的一个选择是 始终 运行 在将代码提交到存储库时通过标准格式化工具。请参见 "smudge" 和 "clean" 属性(和示例)描述的 here。这样您的代码始终具有规范格式。