aydin-hassan/php-git-hooks

一些简单的git钩子,用于运行各种PHP分析工具,包括PHPUnit

0.1.0-beta3 2014-01-23 16:10 UTC

This package is auto-updated.

Last update: 2024-09-12 20:41:33 UTC


README

Latest Stable Version Latest Unstable Version

此项目包含一些简单的脚本,用于在允许提交之前运行单元测试和静态分析工具。

目前,该工具将运行以下内容:

  1. PHPUnit
  2. PHP复制粘贴检测器
  3. PHP代码嗅探器

工具将只在修改的文件上运行phpcs,而phpcpd将对所有文件运行。如果项目根目录中存在phpunit.xml或phpunit.xml.dist文件,将运行PHPUnit。

PHP代码嗅探器将使用ps2编码标准运行,并将忽略警告(例如行限制)

此脚本将首先在项目的vendor/bin目录中查找二进制文件,然后回退到~/.composer/vendor/bin,因此请确保使用composer安装了工具。

有关编码标准,请参阅PHP-FIG

安装工具

composer global require 'phpunit/phpunit:3.7.*'
composer global require 'squizlabs/php_codesniffer:1.5.1'
composer global require 'sebastian/phpcpd=2.0.0'

安装钩子

composer global require 'aydin-hassan/php-git-hooks:0.1.0-beta3'
cd ~/.composer/vendor/aydin-hassan/php-git-hooks
./install.sh

如果您有任何现有的仓库,您应该在仓库根目录中运行git init以启用其中的钩子。所有新仓库将继承钩子。

完成

每次您从任何新克隆/创建的仓库提交内容时,都会执行这些检查!

待办事项

  • 确定如何执行全局钩子,如果已定义本地仓库钩子