git commit你有一些可疑的补丁行

时间:2010-12-29 17:35:26

标签: git

git commit给我以下信息

*
* You have some suspicious patch lines:
*
* In projects/bong/traid/apps/controller/project.php
* trailing whitespace (line 220)
projects/bong/traid/apps/controller/project.php:220:        
* trailing whitespace (line 223)

这是什么意思?

3 个答案:

答案 0 :(得分:15)

当文件有尾随空格时,如果你运行:

,就会发生这种情况
git commit --no-verify

它会提交确定。 ref

答案 1 :(得分:7)

我发现完全停用预先提交令人不安。如果您查看.git / hooks / pre-commit的内容,它还会检查未解决的合并冲突,我想继续检查这些冲突!

在文件的末尾,它运行一些正则表达式,用于检查行尾的空格和不整齐的制表符。我只是注释掉了这些行,所以它不寻找那些,我摆脱了预先提交警告的问题。


 55     if (s/^\+//) {
 56         $lineno++;
 57         chomp;
 **58         # if (/\s$/) {
 59         # bad_line("trailing whitespace", $_);
 60         # }
 61         # if (/^\s* \t/) {
 62         # bad_line("indent SP followed by a TAB", $_);
 63         # }**
 64         if (/^([])\1{6} |^={7}$/) {
 65         bad_line("unresolved merge conflict", $_);
 66         }
 67     }

答案 2 :(得分:1)

简而言之,这意味着您在所提到的行上有空白空格。尾随白色是一个奇怪的选择,有时是编译器错误或等待发生的其他错误。

您可以清理这些行,也可以通过在git commit中添加--no-verify标志来强制提交。

或者,您可以通过禁用预提交挂钩来关闭此检查,如下所示: cd .git / hooks / chmod -x pre-commit

顺便说一下,这个答案来自: http://danklassen.com/wordpress/2008/12/git-you-have-some-suspicious-patch-lines/