我已经创建了一个git pre-push hook来构建我的.NET解决方案并运行单元测试。因此,执行git push
命令现在会在将代码推送到原点之前触发构建/测试。
一切正常。但是,有些情况下,我想绕过这个钩子。也许我知道测试失败了,现在还可以,我只是想跳过我的钩子中的逻辑。
理想情况下,我能够做到这样的事情:
git push --skip-tests
然而,由于git将--skip-tests
标记为无效参数,因此似乎无法飞行。有没有一种方法可以在执行推送时从命令行将参数传递到钩子中,以便我可以根据该参数是否存在来分支钩子逻辑?
答案 0 :(得分:6)
你应该跳过它:
git push --no-verify
使用
--no-verify
,钩子完全被绕过。
然而,这不仅仅是测试,而是所有钩子:也是。
你可以保留钩子,但是添加一个钩子脚本会检测到的环境变量,以便构建但不进行测试。
skip-test=true git push