我不希望在我的提交中进行任何非功能性更改,例如间距、新行、制表符。我曾经使用 SVN,它的 UI 显示 2 个屏幕(左侧是旧文件,右侧是我即将提交的文件),这让我可以快速完成所有更改(向下箭头)并更改箭头指向的方向(右侧意味着提交它,离开意味着将它恢复到原来的样子)。
在 git 中解决这个问题有哪些类似的,甚至更好的方法?
我不希望在我的提交中进行任何非功能性更改,例如间距、新行、制表符。我曾经使用 SVN,它的 UI 显示 2 个屏幕(左侧是旧文件,右侧是我即将提交的文件),这让我可以快速完成所有更改(向下箭头)并更改箭头指向的方向(右侧意味着提交它,离开意味着将它恢复到原来的样子)。
在 git 中解决这个问题有哪些类似的,甚至更好的方法?
像这样的设置可以解决问题:
git config apply.whitespace error
--whitespace=<action>
应用补丁时,检测具有空白错误的新行或修改行。
什么被认为是空白错误由core.whitespace
配置控制。
默认情况下,尾随空格(包括仅由空格组成的行)和在行的初始缩进内紧跟制表符的空格字符被视为空格错误。默认情况下,该命令会输出警告消息但会应用补丁。当
git-apply
用于统计且不应用补丁时,默认为nowarn
.
您可以使用不同的<action>
值来控制此行为:
nowarn
关闭尾随空格警告。warn
输出一些此类错误的警告,但按原样应用补丁(默认)。fix
输出一些此类错误的警告,并在修复它们后应用补丁(strip 是同义词 --- 用于仅将尾随空格字符视为错误的工具,修复涉及剥离它们,但现代 Gits 做得更多)。error
对一些此类错误输出警告,并拒绝应用补丁。error-all
类似于error
但显示所有错误。