git规范

目标

参考

生成 CHANGELOG.md
识别不重要的提交
在浏览 Git 历史时提供更多信息
格式化提交信息
恢复(Revert)
信息头部

  • 必需<type>
  • 必需<scope>
  • <subject>文本

信息主体
信息尾部

  • 重大更改(Breaking changes)
  • 引用讨论(Referencing issues)

目标
能够通过脚本生成 CHANGELOG.md
能让 git bisect 过程忽略不重要的提交
在浏览历史时提供更好的信息
生成 CHANGELOG.md
我们在 changeling 里使用这三个标志: new features, bug fixes, breaking changes. 在做一个发行版的时候,这个列表可以通过脚本来生成,通过关联这些相关的提交。 自然,你可以在实际发行之前编辑这些变更日志,但是这样子可以很容易的生成骨架。
列出自最近一次发行以来所有的主体(提交信息第一行)
git log <last tag> HEAD —pretty=format:%s
在本次发行内的新功能
git log <last release> HEAD —grep feature
识别不重要的提交
通常有很多的Formatting changes(adding/removing spaces/empty lines, indentation), missing semicolons, comments.所以当你查找一些变更的时候,你可以忽略这些提交 - 这些提交里面没有业务逻辑变更。
当二分查找的时候,你可以忽视这些提交通过键入以下命令:
git bisect skip $(git rev-list —grep irrelevant <good place> HEAD)
在浏览历史时提供更多信息
这将会增加一种“context”信息 看这些信息(通过查看最近的 angularjs 的提交信息)

Fix small typo in docs widget (tutorial instructions)  
Fix test for scenario.Application - should remove old iframe  
docs - various doc fixes  
docs - stripping extra new lines  
Replaced double line break with single when text is fetched from Google  
Added support for properties in documentation

所有这些信息都尝试去表明更改的位置,但是它们没有使用公共的规范 再看看这些信息:

fix comment stripping  
fixing broken links  
Bit of refactoring  
Check whether links do exist and throw exception  
Fix sitemap include (to work on case sensitive linux)

你能猜出这里面到底装了些什么?这些信息缺乏重点。 也许还有这些代码:docs, docs-parser, compiler, scenario-runner, ... 我知道,你可以通过查看哪些文件被改变来确定这个提交到底做了什么,但是这样子太麻烦了。 当查看 git 历史信息的时候我们可以看到大家都在努力保持一致,但是缺少一个公共规范。
提交信息的格式化

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

提交信息的任意一行都不能超过100个英文字符!这个能让信息在 github 上和 git 工具里更容易查看。
恢复
如果提交是用于恢复一个更早的提交,这个头部应该以“revert:”开始,接下来是被恢复提交的头部,在主体内应该写“This reverts commit <hash>.”,hash 的位置就是被恢复提交的 sha 值
信息头部
信息头部应该是包含改变的一条单行简要描述,包括一个类型,一个可选的范围和一个主题
必需的<type> 这是用于说明提交的类型,下列是7个标志。

feat: 新功能  
fix : 修补bug  
docs: 文档  
style: 格式化,缺少分号等  
refactor  
test: 增加缺少的测试  
chore 维护  

必需的<scope> 范围可以是任何制定的提交更改的地方。例如 $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView等等 <subject>文本 这是变更的简单描述
以动词开头,使用第一人称现在时,比如change,而不是changed或changes
第一个字母小写
结尾不加句号
信息主体
这部分是对本次提交的详细描述,可以分成多行
使用第一人称现在时,比如使用 change 而不是 changed 或者 changes。
说明代码变更的冬季,以及和以前代码的对比
信息尾部
只有两种情况: 不兼容变动 所有不兼容变动应该被列为不兼容变动块放在信息尾部,应该以“BREAKING CHANGE:”开始,后面是对变动的描述,以及变动的动机和迁移方法 引用讨论 如果当前提交是针对某个讨论,那么可以在尾部关闭这个讨论 Closes #234 或者同时关闭多个讨论 Closes #123, #245, #992

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 规范 git的使用流程建议参考“Git使用规范流程”.[3] 建议a.在特性开发时,commit要以逻辑为单位,鼓...
    愚公300代阅读 378评论 0 0
  • Git规范 by 程序亦非猿 2016.4.6这又是一篇我在公司分享的,想制定一下Git的规范,有兴趣的可以看看~...
    程序亦非猿阅读 2,021评论 12 49
  • 如果飞机没有延迟起飞一个多小时,现在的我应该就躺在床上舒服的睡觉了,日志写完也就是11点钟吧,而不是像此刻,躺在一...
    虫子简阅读 440评论 0 1
  • 好像我的缺点之一是,每次都听不懂暗示,或听懂了并在当时以此做了决定但因为暗示的uncertainty所以还是不停的...
    六六六六六六六六六阅读 179评论 0 0
  • 将每一天的快乐写进生活,每一天的烦恼走出生活。
    曹国泽阅读 581评论 0 0