在预提交挂钩中引发git警告

在预提交挂钩中引发git警告,git,Git,我一直在使用git中的预提交钩子来检查我或其他人在工作中提交项目时是否存在问题。我可以以非零状态退出,以表明提交有严重问题,应该立即修复 然而,有时问题只是程序员需要警告的事情(例如,他们需要根据自己的更改更新帮助文件)。有没有办法让我提出一个git警告,就像你得到的“LF将被CRLF取代”这样的警告?我的部分动机是,我们中的一些人使用SmartGit,因此一条警告以黄色清晰地显示在那里 post-commit钩子看起来很有希望,但是在尝试了不同的返回值之后,它也没有真正给我一个警告。将所有内容

我一直在使用git中的预提交钩子来检查我或其他人在工作中提交项目时是否存在问题。我可以以非零状态退出,以表明提交有严重问题,应该立即修复

然而,有时问题只是程序员需要警告的事情(例如,他们需要根据自己的更改更新帮助文件)。有没有办法让我提出一个git警告,就像你得到的“LF将被CRLF取代”这样的警告?我的部分动机是,我们中的一些人使用SmartGit,因此一条警告以黄色清晰地显示在那里


post-commit钩子看起来很有希望,但是在尝试了不同的返回值之后,它也没有真正给我一个警告。将所有内容都保留在pre-commit钩子中会很好,我相信有更好的方法可以做到这一点。谢谢你给我的建议

能够返回警告返回码的想法似乎是SmartGit灌输给我的。底层git仅在成功时返回零,在失败时返回非零

在windows上的git bash中运行此命令,例如:

touch tmp.txt
echo "lf line endings" > tmp.txt
git add tmp.txt
echo $?
您应该得到零作为最后一个返回代码,即使在您最后一次调用git之后出现了一个“警告”(SmartGit将其识别为警告,并可能给了您一个漂亮的黄色三角形)

通过实验(即艰难的方式),我意识到SmartGit只搜索以“警告:”开头的行,并吸收行的“警告:”部分以触发漂亮的黄色三角形。它删除“警告:”文本,并将“:”in“警告:”后的所有内容打印为其“输出”窗口中的警告


不是很复杂,但至少现在已经有文档记录了。

你有没有尝试过发出警告?是的,这是我过去的解决方案。