diff-sniffer / git
0.5.1
2020-10-02 00:18 UTC
Requires
- php: ^7.3 || ^8.0
- ext-json: *
- jean85/pretty-package-versions: ^1.5
- morozov/bootstrap: ^1.1
- squizlabs/php_codesniffer: ^3.5
Requires (Dev)
- doctrine/coding-standard: ^8.1
- php-vfs/php-vfs: ^1.4.1
- phpstan/phpstan: ^0.12
- phpstan/phpstan-phpunit: ^0.12
- phpunit/phpunit: ^9.3.1
This package is auto-updated.
Last update: 2023-03-09 08:58:33 UTC
README
此工具允许您将PHP_CodeSniffer用作预提交钩子。与现有解决方案相比,其主要区别在于它仅验证代码的变更行,而不是整个源代码树。
安装
下载最新版本的PHAR包并将其放置在您的$PATH
内
$ wget https://github.com/diff-sniffer/diff-sniffer/releases/latest/download/diff-sniffer.phar
$ chmod +x diff-sniffer.phar
$ sudo cp diff-sniffer.phar /usr/local/bin/diff-sniffer
在特定的Git仓库中创建一个预提交钩子。
$ cd /path/to/repo
$ cat > .git/hooks/pre-commit << 'EOF'
#!/usr/bin/env bash
diff-sniffer --staged "$@"
EOF
或者,您可以为您创建一个全局预提交钩子(请参阅man githooks
)
$ cat > ~/.config/git/hooks/pre-commit << 'EOF'
#!/usr/bin/env bash
diff-sniffer --staged "$@"
EOF
您还可以手动安装Diff Sniffer
$ git clone git@github.com:diff-sniffer/diff-sniffer.git
$ cd diff-sniffer
$ composer install
$ bin/diff-sniffer --version
持续集成模式
Diff Sniffer也可以在CI服务器上运行并验证拉取请求。例如,在Travis CI上
$ wget https://github.com/diff-sniffer/diff-sniffer/releases/latest/download/diff-sniffer.phar
$ php diff-sniffer.phar origin/$TRAVIS_BRANCH...$TRAVIS_PULL_REQUEST_SHA