wozinski/php-static-analysis-hook

一个启用

dev-master 2015-03-11 09:52 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:09:41 UTC


README

PHP Static Analysis Hook 配置一个 GIT 预提交钩子来运行一些静态分析工具,如果这些工具中的任何一个检测到代码问题,则会阻止提交。钩子当前版本包含的静态分析工具

此外,该工具将钩子符号链接到 Composer 的 bin-dir,以便其代码可以在仓库中进行版本控制。

致谢

该工具是 此 gist 的扩展版本,作者为 cjsaylor。Git 钩子版本控制灵感来源于此 StackOverflow 答案:http://stackoverflow.com/a/3464399

要求

  • 在项目目录中初始化的 git 仓库
  • 该仓库需要至少有一个提交,以便脚本正确运行。是的,这是一个错误 - 我还没有时间解决这个问题(但请继续修复它)。

用法

  1. 将此包添加到 composer.json 文件的 require-dev 部分,并运行 composer update。示例
{
    "require-dev": {
        "cdwv/php-static-analysis-hook": "dev-master"
    }
}

  1. 在您的 CLI 中运行 bin/symlink-git-hooks-to-hub 命令。它将自动备份您现有的 git 钩子,并将所有钩子重定向到 git-hook-hub,后者将钩子的调用重定向到 Composer 的 bin-dir 中的钩子(目前只使用 pre-commit 钩子)。

该脚本不需要任何其他操作 - 它会在您运行 git commit 命令时运行。

忽略错误模式

有时即使在代码中存在一些问题时,也可能需要提交代码。您可以在运行 git commit 命令之前设置环境变量 STATIC_ANALYSIS_IGNORE_ERRORS 来实现这一点。

请注意,您应该在提交后记住取消设置该变量。否则,如果您的代码中存在错误,所有未来的提交将不会被阻止。以下命令在提交之前设置变量,并在之后取消设置,您可以自由使用它或根据您的需求进行调整

export STATIC_ANALYSIS_IGNORE_ERRORS="t" && git commit -a; unset STATIC_ANALYSIS_IGNORE_ERRORS

免责声明

当前版本的脚本仅是一个概念证明,应谨慎使用。使用风险自负。