IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 使用gitlint及template_git对git commit的提交进行提示及强制规范 -> 正文阅读

[开发工具]使用gitlint及template_git对git commit的提交进行提示及强制规范

Git Commit强制规范(commitlint+husky)
gitlint替代commitlint的用法


初次下载及未配置环境者需要在首次commit前有如下动作以保证commit格式符合规范:


1、将.template_git文件(UTF-8格式)放到git全局路径下

2、执行git config --global commit.template .template_git

3、在CMD中输入pip install gitlint //注意放到环境变量下面

4、将.gitlint放到.git\hooks文件夹下

5、执行gitlint install-hook

6、执行git flow init

7、修改git默认编辑器为VSCode 执行 git config --global core.editor “code --wait”

8、修改gitlint中的cli.py文件(否则不识别中文):

if msg_filename:
        LOG.debug("Using --msg-filename.")
        LOG.debug(msg_filename)

        #UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 

        #缺省是gbk编码,无法提交中文,需要修改为utf-8就可以了。
        msg_filename = open(msg_filename.name,'r',encoding='UTF-8')
        return from_commit_msg(str(msg_filename.read()))

效果如下:


git commit时检测到数据不合规范,会显示如下提示:
gitlint: checking commit message…
1: T8 Title is too short (3<5): “123”
3: B6 Body message is missing

gitlint: Your commit message contains violations.
Continue with commit anyways (this keeps the current commit message)? [y(es)/n(no)/e(dit)]
可以强制commit和退出commit或者重新编辑


.template_git内容:


<type>(<scope>) : <subject>

<body>

<footer>

#说明
#
#<type> 必需
#  feat     - 添加新特性
#  fix      - 修复bug
#  docs     - 仅修改了文档
#  style    - 仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
#  refactor - 代码重构,没有添加新功能或者修复bug
#  perf     - 提高性能
#  test     - 增加测试用例
#  chore    - 改变构建过程、或者增加依赖库、工具等
#  revert   - 回滚到上一个版本
#
#<scope> 可选
# 用于说明commit影响的范围,比如数据层、控制层、视图层等
#
#subject 必需
# commit的简短描述,不超过50个字符
# 以动词开头,使用第一人称现在时,比如change,而不是changed或changes
# 第一个字母小写
# 结尾不加句号(.)
#
#<body> 可选
# 使用第一人称现在时,比如使用change而不是changed或changes
# 应该说明代码变动的动机,以及与以前行为的对比
#
#<footer> 可选 只用于两种情况
# 1 不兼容变动
#    如果当前代码与上一个版本不兼容,则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.
#
# 2 关闭Issue
#    如果当前commit针对某个issue,那么可以在Footer部分关闭这个issue或多个issue
#    例子:Closes #123, #245, #992
#
#还有一种特殊情况,如果当前commit用于撤销以前的commit,则必须以revert:开头,后面跟着被撤销Commit的Header
#    例子: 
#        revert: feat(pencil): add 'graphiteWidth' option
#
#        This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
#Body部分的格式是固定的,必须写成This reverts commit &lt;hash>.,其中的hash是被撤销commit的SHA标识符
#如果当前commit与被撤销的commit,在同一个发布(release)里面,那么它们都不会出现在Change log里面。
#如果两者在不同的发布,那么当前commit,会出现在Change log的Reverts小标题下面
#
#
#

.gitlint文件:


[general]
# You HAVE to add the rule here to enable it, only configuring (such as below)
# does NOT enable it.
contrib=contrib-title-conventional-commits,CT1
ignore=B6
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:26:35  更:2022-08-19 19:28:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:43:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码