【发布时间】:2016-08-18 07:27:56
【问题描述】:
我在实现 pre-push 挂钩时遇到问题。开发人员需要在将代码推送到 git 存储库之前运行静态代码分析器。但通常他们不会,因此会破坏构建。
因此,我写了一个 pre-push 钩子;这是一个执行静态代码分析(并复制到 .git/hooks)目录的 shell 脚本,但它不能正常工作。这必须是一个客户端钩子,但它没有按预期工作。而且我不想在提交前或提交后挂钩中实现此功能,因为我希望在开发人员的机器上在他/她推送代码之前(而不是在他/她提交代码时)完成静态代码分析。
因此,请提供您对我如何在 git push 命令之前在客户端计算机上执行任务(静态代码分析)的见解。
【问题讨论】:
-
您是否已将 .git/hooks/pre-push 复制到您希望执行此操作的所有客户端计算机上?
-
是的。我也这样做了。
-
挂钩是否可执行 (
chmod a+x .git/hooks/pre-push)? -
另外,请确保您的客户正在使用 Git > 1.8.2 when pre-push was introduced