【问题标题】:GIT: efficient way to prevent commiting non-functional changes?GIT:防止提交非功能性更改的有效方法?
【发布时间】:2013-10-07 00:27:56
【问题描述】:

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

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

【问题讨论】:

  • 一个人的“非功能性”标签是另一个人的 Python 必需品。

标签: git svn version-control diff commit


【解决方案1】:

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

git config apply.whitespace error

来自git apply man page:

--whitespace=<action>

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 2015-05-27
    • 1970-01-01
    • 2020-04-04
    • 2012-12-22
    • 2019-02-15
    • 1970-01-01
    相关资源
    最近更新 更多