GIT:有效的方法来防止提交非功能性变化?

时间:2013-10-01 00:36:42

标签: git svn version-control diff commit

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

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

1 个答案:

答案 0 :(得分:1)

像这样的setting可以解决这个问题:

git config apply.whitespace error

来自git apply man page

--whitespace=<action>
  

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

     

默认情况下,该命令会输出警告消息,但会应用修补程序。如果git-apply用于统计信息且未应用修补程序,则默认为nowarn   您可以使用不同的<action>值来控制此行为:

  • nowarn 会关闭跟踪空白警告。
  • warn 会针对一些此类错误输出警告,但会按原样应用修补程序(默认)。
  • fix 会针对一些此类错误输出警告,并在修复后应用修补程序(条带是同义词---用于考虑仅将空白字符作为错误尾随的工具,并且修复涉及剥离它们,但是现代Gits做得更多。)
  • error 会针对一些此类错误输出警告,并拒绝应用此修补程序。
  • error-all error类似,但会显示所有错误。