Giter VIP home page Giter VIP logo

git-commit-helper's Introduction

git-commit-helper

自动校验git提交日志的格式规范,拒绝随意提交日志,支持自动输出 changelog 规范。 同时支持与禅道关联,自动记录禅道日志或者完成禅道任务、BUG任务等。

重要: 如果本地git低于 2.15 的话需要更新到最新的git。可以从 https://git-scm.com/downloads 下载。目前已知 1.95 版本不支持此脚本!

安装

项目安装

commit-msg 放置到项目目录下的 .git/hooks 目录内

全局安装

注意:对新建项目有效,对原有项目无效!

commit-msg 放置到 ~/.git-template/hooks 目录内

mkdir -p ~/.git-template/hooks
git config --global init.templatedir '~/.git-template'

配置

修改脚本内的三个变量为实际的值

ZT_HOST="实际禅道访问地址"
ZT_USER="禅道帐号"
ZT_PASS="禅道密码"

功能

对提交日志按如下格式进行规范校验,拒绝不符合规范的提交

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

日志Type说明

日志允许如下这些日志分类,方便输出 release notechangelog

  feat:
    新的功能特性
    a new feature
  fix:
    BUG修复
    a bug fix
  docs:
    文档更新
    Documentation only changes
  style:
    与代码逻辑无关的样式修改(空格、格式、句尾结束符等)
    Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  refactor:
    代码重构,但与修复bug或者新功能无关
    A code change that neither fixes a bug nor adds a feature
  perf:
    性能优化
    A code change that improves performance
  test:
    测试用例
    Adding missing tests
  chore:
    工程化更新(编译脚本、辅助工具等)
    Changes to the build process or auxiliary tools and libraries such as documentation generation

自动执行禅道事务(可选)

要让git提交可以自动执行禅道内的事务操作,如关闭bug,完成需求,记录工作日志等,这些都在 <Scope> 内来标记。

  • #1001 完成一个需求任务
  • #1001-1-12 在一个需求任务内记录工作日志
  • @2001完成一个BUG
  • @2001-1 在一个BUG内记录工作日志

<scope> 内可以填写多个指令,指令之间以 , 号分隔

示例

一个最简单的提交日志:

docs: 接口文档更新

提交一个新功能,同时关闭9528号禅道任务和9000号禅道BUG,并在9527号禅道任务中记录工作日志,消耗1小时,剩余2小时,日志内容即提交日志内容。

feat(#9528,#9527-1-2,@9000): 完成留言回复功能,并解决留言无法回复问题

可以引用回复,引用内容截取
被回复者会收到站内短信通知

问题

  • no

Thanks

git-commit-helper's People

Contributors

ihao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.