将参数传递给git pre-push hook

Sco*_*ott 3 git githooks

我已经创建了一个git pre-push hook来构建我的.NET解决方案并运行单元测试.因此,git push在将代码推送到源之前,执行命令现在会触发构建/测试.

一切正常.但是,有些情况下我想绕过这个钩子.也许我知道测试失败了,现在没关系,我只想跳过我的钩子中的逻辑.

理想情况下,我可以做这样的事情:

git push --skip-tests

但是,由于git标记--skip-tests为无效参数,因此似乎没有飞行.有没有一种方法可以在执行推送时从命令行将参数传递到钩子中,以便我可以根据该参数是否存在来分支钩子逻辑?

Von*_*onC 6

你应该跳过它:

git push --no-verify
Run Code Online (Sandbox Code Playgroud)

git push手册页

使用时--no-verify,钩子完全被绕过.


然而,这不仅仅是测试,而是所有钩子:也是构建.

您可以保留挂钩,但添加一个环境变量,钩子脚本将检测该环境变量以便构建但不进行测试.

skip-test=true git push
Run Code Online (Sandbox Code Playgroud)