redcode / pre-commit
增加通过git pre-commit钩子操作的能力
dev-master
2015-09-06 10:58 UTC
Requires
- php: >=5.4.0
- fabpot/php-cs-fixer: ~1.10
- symfony/console: >=2.5
- symfony/process: ~2.0
- symfony/yaml: >=2.5
This package is not auto-updated.
Last update: 2024-09-14 18:36:55 UTC
README
这是一个控制台应用程序,它添加git pre-commit钩子,并允许你在git事件上运行自定义程序。
安装
安装此库最简单的方法是使用以下命令通过Composer:
$ composer require --dev redcode/precommit
配置
在你的项目根目录中,你需要添加一个包含自定义程序配置的 .pre-commit.yml 文件。
active: - php-code-style # name of active custom program hooks: php-code-style: # key(name) of active custom program description: "PHP Code Style" # description, which will be shown on process run class: RedCode\GitHook\Process\PhpCsProcess # custom class which extends AbstractGitHookProcess script: "bin/php-cs-fixer fix --diff --dry-run %relativeFile%" # custom script to execute file_types: "php,phtml" # files types which will be checked by pre commit hook // if empty - all files paths: # prjecect paths which will be checked by pre commit hook // if empty - all root directory - src/My/Custom/Code - src/My/Custom/Lib
你可以添加尽可能多的自定义程序。
Pre-commit已经内置了Php-Cs-Fixer。因此,你可以使用以下行来激活它:
active: - php-code-style
如果你需要通过一些选项扩展自定义程序,你可以在配置文件中轻松完成。
active:
- php-code-style
hooks:
php-code-style:
paths:
- src/My/Custom/Code
- src/My/Custom/Lib
请注意,description 和 class|script 字段是必需的。配置节点 class 优先于 script,但必须指定其中一个。
它是如何工作的?
安装此程序并创建配置文件后,您需要在本地git存储库中激活它。Pre-commit钩子可以通过两种方式激活:
-
手动:使用命令
./bin/pre-commit install -
Composer事件 (推荐)
将以下部分添加到您的composer.json文件中:
"scripts": { "post-update-cmd": "RedCode\\GitHook\\ComposerListener::postUpdate", "post-install-cmd": "RedCode\\GitHook\\ComposerListener::postInstall" },
这种方法将在所有开发者在执行
composer install或update命令后添加pre-commit钩子。
接下来是什么?
只需尝试提交一些内容,如果你的自定义脚本说文件不好,你将看到输出,提交过程将被暂停。