传递参数给 git pre-push hook
Pass parameters to git pre-push hook
我创建了一个 git 预推挂钩,用于构建我的 .NET 解决方案并运行单元测试。因此,执行 git push
命令现在会在将代码推送到原点之前触发 build/tests。
一切正常。但是,有些情况下我想绕过这个钩子。也许我知道测试失败了,现在这很好,我只是希望能够跳过我的钩子中的逻辑。
理想情况下,我可以这样做:
git push --skip-tests
但是,这似乎并没有实现,因为 git 将 --skip-tests
标记为无效参数。有没有一种方法可以在执行推送时从命令行将参数传递到挂钩中,以便我可以根据该参数是否存在来分支挂钩逻辑?
你应该跳过它:
git push --no-verify
With --no-verify
, the hook is bypassed completely.
但是,这不仅绕过了测试,还绕过了 all hook: build。
您可以保留挂钩,但添加挂钩脚本会检测到的环境变量,以便构建但不进行测试。
skip-test=true git push
我创建了一个 git 预推挂钩,用于构建我的 .NET 解决方案并运行单元测试。因此,执行 git push
命令现在会在将代码推送到原点之前触发 build/tests。
一切正常。但是,有些情况下我想绕过这个钩子。也许我知道测试失败了,现在这很好,我只是希望能够跳过我的钩子中的逻辑。
理想情况下,我可以这样做:
git push --skip-tests
但是,这似乎并没有实现,因为 git 将 --skip-tests
标记为无效参数。有没有一种方法可以在执行推送时从命令行将参数传递到挂钩中,以便我可以根据该参数是否存在来分支挂钩逻辑?
你应该跳过它:
git push --no-verify
With
--no-verify
, the hook is bypassed completely.
但是,这不仅绕过了测试,还绕过了 all hook: build。
您可以保留挂钩,但添加挂钩脚本会检测到的环境变量,以便构建但不进行测试。
skip-test=true git push