2

我不希望在我的提交中进行任何非功能性更改,例如间距、新行、制表符。我曾经使用 SVN,它的 UI 显示 2 个屏幕(左侧是旧文件,右侧是我即将提交的文件),这让我可以快速完成所有更改(向下箭头)并更改箭头指向的方向(右侧意味着提交它,离开意味着将它恢复到原来的样子)。

在 git 中解决这个问题有哪些类似的,甚至更好的方法?

4

1 回答 1

1

像这样的设置可以解决问题:

git config apply.whitespace error

git apply手册页

--whitespace=<action>

应用补丁时,检测具有空白错误的新行或修改行。
什么被认为是空白错误由core.whitespace配置控制。
默认情况下,尾随空格(包括仅由空格组成的行)和在行的初始缩进内紧跟制表符的空格字符被视为空格错误

默认情况下,该命令会输出警告消息但会应用补丁。当git-apply用于统计且不应用补丁时,默认为nowarn.
您可以使用不同的<action>值来控制此行为:

  • nowarn关闭尾随空格警告。
  • warn输出一些此类错误的警告,但按原样应用补丁(默认)。
  • fix输出一些此类错误的警告,并在修复它们后应用补丁(strip 是同义词 --- 用于仅将尾随空格字符视为错误的工具,修复涉及剥离它们,但现代 Gits 做得更多)。
  • error对一些此类错误输出警告,并拒绝应用补丁。
  • error-all类似于error但显示所有错误。
于 2013-10-01T05:42:57.620 回答