Git 预提交钩子"No error"错误消息



我有一个预提交钩子,当我运行时返回此错误:

error: cannot spawn .git/hooks/pre-commit: No error

我在顶部有一个#!/bin/sh,并且肯定在上面使用了chmod +x。但是,当没有此类文件或目录错误时,这些似乎是修复程序。我的错误只是说No error,我无法弄清楚为什么。

钩子中的代码:

#!/bin/sh
changes() {
git diff --name-only --diff-filter=AMDR --cached @~..@
}
if changes | grep -q dirname {
echo "Test"
}

首先检查您的脚本是否有最终换行符,如下所示。
缺少它将触发"无错误"消息。

还要检查 eol 样式(行尾(:LF 是那些 bash 脚本的首选。

OP compsciman在评论中证实,从2.21切换到Git For Windows 2.26解决了这个问题。

最近对pre-commit的唯一修改涉及删除我在"如何为 Git 控制台着色?"中提到的git config --bool选项(提交 81e3db4(。

最新更新