iodigital-com/composer-git-hooks

iO Composer Git Hooks

安装次数: 10,331

依赖者: 0

建议者: 0

安全性: 0

星标: 1

关注者: 7

分支: 1

开放问题: 0

类型:composer-plugin

v3.1.0 2024-02-06 16:09 UTC

README

Composer 插件,用于从 bin/git-hooks/[hook].d 文件夹管理 git hooks。

工作原理

  1. 将包作为开发依赖项包含
  2. 在执行 Composer 的 installupdate 命令时,将创建从 .git/hooks/[hook] 到此模块的 scripts/chain-hook 脚本的符号链接,用于所有非远程 git hooks
  3. chain-hook 脚本将运行项目 bin/git-hooks/[hook].d 文件夹中找到的脚本。

先决条件

  • 由 composer 管理的项目

安装

将包作为开发依赖项添加。

composer require --dev iodigital-com/composer-git-hooks

将包添加到您的 composer.json 文件的 allow-plugins 部分

{
    "config": {
        "allow-plugins": {
            ...
            "iodigital-com/composer-git-hooks": true
            ...
        }
    }
}

手动运行脚本

此包是 composer 插件,将在 composer installcomposer update 上自动安装 githooks。但是,如果您需要,可以通过将其添加为 composer 脚本并执行它来手动运行安装器。

将以下内容添加到 composer.json

"scripts": {
    ...
    "install-git-hooks": "IODigital\\ComposerGitHooks\\ComposerPlugin::process"
    ...
},

运行它

composer run-script install-git-hooks

用法

将特定于项目的 git-hooks 添加到 bin/git-hooks/[hook].d。例如

  • bin/git-hooks/pre-commit.d/phpstan
  • bin/git-hooks/pre-commit.d/phpcs

所有脚本(在这种情况下为 pre-commit)都应返回 0 退出代码,以便整个钩子成功。

贡献

创建一个 pull request。此包使用了 composer 插件接口。请参阅 composer 文档