sdieunidou/php-git-hooks

此包已废弃,不再维护。未建议替代包。

PHP项目的Git钩子。

v2.0.1 2015-09-01 21:32 UTC

This package is auto-updated.

Last update: 2022-02-01 12:50:53 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License SensioLabsInsight

PHP项目的Git钩子

基于Git钩子脚本的PHP项目库。

原始脚本

安装

第1步:Composer

您必须将以下行添加到composer.json文件中

{
    "require-dev": {
        "bruli/php-git-hooks": "2.*@dev"
    }
}

或者您可以在控制台输入

$ composer require bruli/php-git-hooks --dev

如果您没有Composer,您需要下载二进制文件并运行它

wget https://getcomposer.org.cn/composer.phar
# or
curl -O https://getcomposer.org.cn/composer.phar

php composer.phar install

第2步:配置

Composer配置。

下载所有仓库后,Composer会询问您关于配置的问题。

composer-config.png

Symfony2项目中的Composer配置。

在Symfony2项目中,您需要在您的composer.json中添加以下行

"scripts": {
    "post-install-cmd": [
      ...other lines...
      "PhpGitHooks\\Application\\Composer\\ConfiguratorScript::buildConfig"
    ],
    "post-update-cmd": [
      ...other lines...
      "PhpGitHooks\\Application\\Composer\\ConfiguratorScript::buildConfig"
    ]

重要:要使用2.X版本,您需要symfony 2.7版本。

Bin目录配置。

如果您的项目没有"bin"目录,您可以在您的compose.json文件中添加它。

 "config": {
        "bin-dir": "bin"
    }

注意:对于Symfony项目不是必需的。

Git钩子的手动配置文件。

您可以通过创建一个包含以下内容的php-git-hooks.yml文件来配置php-git-hooks...

pre-commit:
  enabled: true
  execute:
    php-cs-fixer:
        enabled:  true
        level:    psr0
    phpunit:       true
    phplint:       true
    phpcs:         true
    phpmd:         true
commit-msg:
    enabled: true
    regular-expression: '#[0-9]{2,7}'

...或者您可以从vendor/bruli/php-git-hooks复制php-git-hooks.yml.sample。

从v1.3.*更新

php-git-hooks.yml文件中的Php-cs-fixer配置与2.0版本不兼容。您应该删除php-cs-fixer条目并执行"composer install"。

最简单的方法是删除php-git-hooks.yml并执行"composer install"。您将再次看到所有配置问题。

phpunit配置文件。

如果您想使用phpunit工具,您必须在项目根目录中创建一个phpunit.xml.dist。或者您可以从vendor/bruli/php-git-hooks/phpunit.xml.dist复制到项目根目录。

phpmd配置文件。

与phpunit相同。您必须在项目根目录中创建一个PmdRules.xml或从php-git-hook目录复制。

第3步:启用钩子。

最简单的方法是将钩子文件复制到您的.git/hooks目录中。

#对于pre-commit钩子

您可以通过Composer或手动执行来启用此钩子

 $cp vendor/bruli/php-git-hooks/hooks/pre-commit .git/hooks

#对于commit-msg钩子

 $cp vendor/bruli/php-git-hooks/hooks/commit-msg .git/hooks

执行。

####有效的pre-commit. pre-commit.png ####失败的pre-commit. pre-commit-failed.png

致谢

许可证

php-git-hooks是在MIT许可证下发布的。有关详细信息,请参阅捆绑的LICENSE文件。