ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

github风格规范

2022-06-13 12:34:42  阅读:228  来源: 互联网

标签:改动 github feat 规范 风格 scope commit type 分支


格式

每次提交,Commit message 都包括三个部分 header , body , footer

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

其中,header 是必须的,body 和 footer 可以省略

不管是哪部分,任何一行都不得超过72字符(或100个字符)。这是为了避免自动换行影响美观

Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。

type

用于说明 commit 的类别,约定了两个主要 type,以及五个特殊 type,并 扩充了其他 type。

主要

  • feat:新功能(feature)
  • fix:修补bug

特殊

  • docs:文档(documentation),只改动了文档部分
  • style: 格式(不影响代码运行的变动),例如去掉空格、改变缩进
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:添加测试或者修改现有测试
  • chore:构建过程或辅助工具的变动

扩充

  • build:改变构建流程,新增依赖库、工具、构造工具的或者外部依赖的改动,例如webpack,npm
  • perf:提高性能的改动
  • ci:自动化流程配置修改、与CI(持续集成服务)有关的改动
  • revert:回滚到上一个版本,执行git revert打印的message
  1. 如果type为 feat 和 fix ,则该 commit 将肯定出现在 Change log 之中。
  2. 当一次改动包括 主要type 与 特殊type 时,统一采用 主要type。

scope

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

如果你的修改影响了不止一个scope,你可以使用*代替。 如果没有合适的范围,可以直接写提交内容

subject

subject 是 commit 目的的简短描述,不超过50个字符。

其他注意事项:

  • 以动词开头,使用第一人称现在时,比如change,而不是changed或changes
  • 第一个字母小写
  • 结尾不加句号(.)

Body

Body 部分是对本次 commit 的详细描述,可以分为多行 主要描述 改动之前的情况 及  修改动机 ,对于小的修改一般不作要求,但是重大需求、更新等必须添加 body 以作说明

其他注意事项:

  • 使用第一人称
  • 永远别忘了第2行是空行
  • 应该说明代码变动的动机,以及与以前行为的对比

Tooter 部分只用于以下两种情况:

不兼容变动(break changes)

如果当前代码与上一个版本不兼容,则 footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。

BREAKING CHANGE: isolate scope bindings definition has changed.

    To migrate the code follow the example below:

    Before:

    scope: {
      myAttr: 'attribute',
    }

    After:

    scope: {
      myAttr: '@',
    }

    The removed `inject` wasn't generaly useful for directives so there should be no code using it.

关闭 Issue(affect issues)

如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。

Closes #234

示例

对 package.json 文件新增依赖库

chore(package.json): 新增依赖库

对代码进行重构

refactor(weChat.vue): 重构微信进件

分支与版本发布规范

main 为保护分支,不直接在 main 上进行代码修改和提交

开发从 main 分支上 checkout 一个 feature 分支进行开发或者 fix 分支进行 bug修复,功能测试完毕并且项目发布上线后,将 feature 分支合并到主干 main,并且打 tag 发布,最后删除开发分支。

  • 分支版本命名规则:分支类型 _ 分支发布时间 _ 分支功能。例如:feat_20201122_login
  • 分支类型包括:feat 、 fix 、 refactor 三种类型,即新功能开发、bug修复和代码重构
  • 时间使用年月日进行命名,不足2位补0
  • 分支功能命名使用snake case命名法,即下划线命名

参考:https://northes.co/posts/git/git-commit/

标签:改动,github,feat,规范,风格,scope,commit,type,分支
来源: https://www.cnblogs.com/ccfco/p/16370419.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有