joshhornby/php-git-hooks

PHP项目的Git钩子。

2.5 2015-12-17 10:21 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.0"
    }
}

或者您可以在控制台中输入

$ 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会询问您配置信息。

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
        levels:
            psr0:       true
            psr1:       true
            psr2:       true
            symfony:    true
    phpunit:
        enabled:     true
        random-mode: true
    phplint:         true
    phpcs:
        enabled:     true
        standard:    PSR2
    phpmd:           true
    composer:        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.

致谢

许可协议

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