我刚开始使用钩子,在使用git提交时,在简单地运行脚本时遇到了一些麻烦。当使用从bash终端运行时,脚本完全按照预期工作
bash pre-commit
命令。但在使用git进行提交时,它根本不会运行。
文件位于C:/path/to/my/project/.git/hooks/pre-commit,文件内容为:
#!/bin/bash
cd ../
cd ../
echo "pre-commit start"
if py -m unittest discover 2>&1 | grep -q "FAILED"; then
echo "Test(s) FAILED"
exit 1
fi
echo "pre-commit end"
正如其他帖子中所建议的那样,我尝试过在终端中运行chmod命令,但没有任何更改。
chmod +x pre-commit
问题是,即使该文件位于我测试它的C:/path/to/my/project/.git/hooks/pre-commit,该文件仍在C:/path_to/my/proproject/目录中运行。因此,两次调用"cd../"导致脚本退出项目目录,这一定造成了某种错误。