andkirby / commithook
PHP 提交钩
Requires
- php: >=5.5
- chobie/jira-api-restclient: ^2.0@dev
- knplabs/github-api: ~1.4@stable
- rikby/console-helper: ^0.11
- rikby/crypter: ~1.0@stable
- symfony/console: ~3.0@stable
- symfony/filesystem: ~2.5@stable
- symfony/finder: ~2.5@stable
- zendframework/zend-cache: ~2.5@stable
Requires (Dev)
- escapestudios/symfony2-coding-standard: ~2.0@stable
- phpunit/phpunit: ~4.0@stable
- squizlabs/php_codesniffer: 2.*@stable
- symfony/process: ^3.1@stable
Suggests
- squizlabs/php_codesniffer: Suggested v2.* for using code sniffer
- dev-master
- dev-develop / 2.x-dev
- v2.0.0-beta.46
- v2.0.0-beta.45
- v2.0.0-beta.44
- v2.0.0-beta.43
- v2.0.0-beta.42
- v2.0.0-beta.41
- v2.0.0-beta.40
- v2.0.0-beta.39
- v2.0.0-beta.38
- v2.0.0-beta.37
- v2.0.0-beta.36
- v2.0.0-beta.35
- v2.0.0-beta.34
- v2.0.0-beta.33
- v2.0.0-beta.32
- v2.0.0-beta.31
- v2.0.0-beta.30
- v2.0.0-beta.29
- v2.0.0-beta.28
- v2.0.0-beta.27
- v2.0.0-beta.26
- v2.0.0-beta.25
- v2.0.0-beta.20
- v2.0.0-beta.19
- v2.0.0-beta.18
- v2.0.0-beta.15
- v2.0.0-beta.14
- v2.0.0-beta.13
- v2.0.0-beta.12
- v2.0.0-beta.11
- v2.0.0-beta.10
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v2.0.0-beta.0
- v2.0.0-beta+2015-10-13
- v1.8.0-p3
- v1.7.0b.2
- v1.7.0b.1
- v1.7.0b
- v1.7.0a
- v1.6.10-alpha.12
- v1.6.10-alpha.11
- v1.6.10-alpha.10
- v1.6.10-alpha.9
- v1.6.10-alpha.8
- v1.6.10-alpha.7
- v1.6.10-alpha.6
- v1.6.10-alpha.5
- v1.6.10-alpha.4
- v1.6.10-alpha.3
- v1.6.10-alpha.2
- v1.6.10-alpha.1
- v1.6.10-alpha
- v1.6.9
- v1.6.8
- v1.6.7
- v1.6.6
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.1
- v1.6.0
- v1.5.1
- dev-feature/117
- dev-stable
This package is auto-updated.
Last update: 2024-09-20 01:16:42 UTC
README
CmHook 是一个用于 PHP (Code Sniffer), CSS (仅基础), JS (JsHint) 代码和提交消息格式化/填充的 Git 提交钩,集成了问题跟踪器(JIRA,GitHub)。
此项目的主要目的是
- 在提交前检查编码标准(通过使用 PHP CodeSniffer,JSHint,RuboCop 或任何 lint 工具)
- 自动填充提交消息到正确的格式(详细信息)
支持文件类型:php, phtml, js, coffee, css, scss, xml, sh, scss, css, json, less, html, htm。
你可以制作的最简单的提交消息
目标提交消息
Implemented #33: Make smth good now
- Added my file.
此提交消息将自动生成,我们只需输入提交描述
$ git add myfile.php
$ git commit -m 'Added my file.'
有关 短提交消息 的更多信息。
安装
最新版本是 v2.0.0-beta.47
全局安装
要获取最后一个 beta 版本,请定义您的 minimum-stability。
{
"minimum-stability": "beta",
"prefer-stable": true
}
由于该软件包需要的一个包仍在 "dev" 状态,请先获取它
$ composer global require chobie/jira-api-restclient ^2.0@dev
现在获取软件包
$ composer global require andkirby/commithook ~2.0@beta
在项目中启用钩子(使用预定义配置)
如果项目已经具有基础配置文件,您需要定义解释器(PHP 用于 PHPCS,Ruby 用于 Rubocop,NodeJs 用于 JSHint)
- PHP 示例
- (您可以使用 PHP Windows Binaries Downloader (gist) 尝试)
$ commithook config --xpath code/interpreter/php d:/s/php-7.0.14/php.exe --project-self
安装额外的代码验证器
- (您可以使用 PHP Windows Binaries Downloader (gist) 尝试)
- PHPCS
- JSHint (原始).
$ composer global require squizlabs/php_codesniffer:~2.0@stable - Rubocop 安装
- (可选)也许,如果它们不允许全局使用,您必须为额外的代码验证器定义二进制文件。(例如 JSHint,在任何情况下,请参阅 此示例 了解如何安装任何 "linter").
- JSHint (原始).
- 安装 GIT 钩子文件
- 启用您的跟踪器集成
$ commithook install - 示例
.bashrc$ commithook tracker:wizard
以下是一个用于全局使用的 .bashrc 文件示例。
这是一个 用于全局使用的 .bashrc 文件示例。
单独安装
如果全局方式不起作用,您可以使用 通过 create-project 安装。
文档引用
安装
密码跟踪器更新
代码验证
忽略验证
保护代码
启用 JsHint 验证(JavaScript)
提交消息
提交消息格式
忽略提交消息验证
提交消息中的活动任务
自动将提交消息分解成列表
问题
错误
代码验证器不与 GIT 缓存一起工作
代码验证与 GIT 一起工作,但不支持 git 缓存。这意味着如果您添加了一个文件(git add file.php),修改了它,并尝试提交(没有将其添加到 GIT 缓存中)。当然,在提交时,您将从缓存中获取代码,但验证器将验证您的实际文件。(#113)
提交消息中的小错误
技巧与窍门
代码中的冗余空隙
您可以通过正则表达式快速找到代码中的空隙/尾随空格。
(\n\s*\n\s*\})|(\n\s*\n\s*\n)|(\{\n\s*\n)| +\n
只需在您的IDE中使用它。
操作系统环境
已在Windows的GIT Bash v2.9上测试。
请随意创建您遇到的问题。