andkirby/commithook

PHP 提交钩

v2.0.0-beta.46 2017-09-04 13:38 UTC

README

CmHook 是一个用于 PHP (Code Sniffer), CSS (仅基础), JS (JsHint) 代码和提交消息格式化/填充的 Git 提交钩,集成了问题跟踪器(JIRA,GitHub)。

Gitter

此项目的主要目的是

  • 在提交前检查编码标准(通过使用 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)

以下是一个用于全局使用的 .bashrc 文件示例。

这是一个 用于全局使用的 .bashrc 文件示例

单独安装

如果全局方式不起作用,您可以使用 通过 create-project 安装

文档引用

安装

初始化配置向导
GIT 集成:钩子文件安装

密码跟踪器更新

密码更新

代码验证

忽略验证
保护代码
启用 JsHint 验证(JavaScript)

提交消息

提交消息格式
忽略提交消息验证
提交消息中的活动任务
自动将提交消息分解成列表

问题

错误

问题错误列表.

代码验证器不与 GIT 缓存一起工作

代码验证与 GIT 一起工作,但不支持 git 缓存。这意味着如果您添加了一个文件(git add file.php),修改了它,并尝试提交(没有将其添加到 GIT 缓存中)。当然,在提交时,您将从缓存中获取代码,但验证器将验证您的实际文件。(#113

提交消息中的小错误

#92, #91, #32

技巧与窍门

代码中的冗余空隙

您可以通过正则表达式快速找到代码中的空隙/尾随空格。

(\n\s*\n\s*\})|(\n\s*\n\s*\n)|(\{\n\s*\n)| +\n

只需在您的IDE中使用它。

操作系统环境

已在Windows的GIT Bash v2.9上测试。

请随意创建您遇到的问题。

发行说明