Git —— Commit Message 规范介绍

这篇具有很好参考价值的文章主要介绍了Git —— Commit Message 规范介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git —— Commit Message 规范介绍

为什么要规范 Commit Message

日常开发中,我们经常会使用到 Git 进行代码管理,而 Git 中最常用的命令就是 git commit,我们通过 commit 命令将修改后的代码提交到本地仓库,然后再通过 git push 命令将本地仓库的代码推送到远程仓库。

git 规定提交时必须要写提交信息,作为改动说明,保存在 commit 历史中,方便回溯。规范的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG,甚至对于项目的研发质量都有很大的提升,尤其是一些长期持续迭代维护,且多版本长期并存的项目。

优秀的规范化 Commit Message 应该具备以下优点:

  1. 清晰明了:commit message 应该清晰明了,说明本次提交的目的,具体做了什么操作。这样可以让团队成员更好地理解每次提交的内容。

  2. 便于追溯:规范的 commit message 可以帮助程序员对提交历史进行追溯,了解发生了什么情况。

  3. 提高研发效率:一旦约束了 commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个 git commit 里面,这样一来整个代码改动的历史也将更加清晰。

  4. 自动化工具的友好性:规范的 commit message 可以被自动化工具用于生成发布日志或自动化版本号管理。

  5. 降低代码维护成本:如果 commit message 写得不清楚,例如使用 “fix bug” 这样笼统的描述,可能会导致后续代码维护成本特别大,有时自己都不知道自己的 “fix bug” 修复的是什么问题

因此,规范化的 commit message 对于团队协作和项目管理是非常重要的。

Commit Message 规范

在 Git 中 Commit Message 的规范又很多种,其中比较受欢迎的有以下这些:

  1. Angular 规范:这是目前使用最广的写法,比较合理和系统化,并且有配套工具可以辅助生成(VS CODE 插件:git-commit-plugin)。

  2. Conventional Commits 规范:这是一个基于语义化版本 (semver) 和简单的消息格式的轻量级约定,一传达代码更改的意图。

这里我们着重介绍一下 Angular 规范。

Angular 规范

Angular 规范是一种广泛应用于软件开发中的提交信息(commit message)规范,其目的在于提供一种统一、清晰的提交信息格式,以便于开发者和维护者理解代码的变动情况。

Angular 规范将提交信息分为三个部分:Header、Body 和 Footer。

  1. Header:Header 是提交信息的头部,包含三个字段:type、scope 和 subject。

    • type:type 字段用于指明本次提交的类型,例如:feat(新功能)、fix(修补bug)、docs(文档)、style(格式)、refactor(重构)、perf(性能优化)、test(增加测试)、chore(构建过程或辅助工具的变动)等。
    • scope:scope 字段用于指明本次提交影响的范围,例如:数据层、控制层、视图层等。这个字段是可选的。
    • subject:subject 字段是对本次提交目的的简短描述,不超过50个字符。
  2. Body:Body 是提交信息的主体部分,用于详细描述本次提交的内容和原因。这个部分是可选的。

  3. Footer:Footer 是提交信息的尾部,通常用于记录不兼容变动和关闭 Issue。这个部分也是可选的。

Angular 规范的提交信息格式如下:

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

以上就是 Angular 规范的基本内容。遵循这种规范可以帮助我们更好地管理代码提交的内容,使得每次提交的目的和主要改动都能清晰地体现在 Commit Message 中,便于后续的代码维护和版本管理。具体的规范可能会因团队和项目的不同而有所差异。所以,虽然 Git 本身没有强制的 Commit Message 规范,但在实际使用中,我们通常会根据实际需求来约定一些规范,以提高代码的可读性和维护性。

Commit Message 规范工具

在实际开发中,我们通常会使用一些工具来帮助我们规范 Commit Message,这样可以避免我们手动编写 Commit Message,提高开发效率。

这里介绍一个 VS Code 插件:git-commit-plugin,它可以帮助我们快速生成符合 Angular 规范的 Commit Message。这是它的仓库地址:https://github.com/RedJue/git-commit-plugin。我们也可以直接在 VS Code 的扩展商店中直接下载安装。

注意:商店中有两个名为 git-commit-plugin 的插件,我们选择作者为 redjue 的那一个。另一个为fork的版本,已经不再维护。

Git —— Commit Message 规范介绍,git,angular.js

安装完成后,我们点击 VS Code 左侧面板的存储库图标,可以看到存储库的右边出现了一个 git 图标,点击它就可以打开 git-commit-plugin 的界面。

  1. 打开 git-commit-plugin 界面:

    Git —— Commit Message 规范介绍,git,angular.js

  2. 选择提交类型,这里以 fix 为例:

    Git —— Commit Message 规范介绍,git,angular.js

  3. 按照 Angular 规范依次完成 scope,subject,body 和 footer 字段

    Git —— Commit Message 规范介绍,git,angular.js

  4. 完成每项内容的填写后,点击 Complete,插件会将填写的内容,按照规范自动生成在左侧源代码管理面板中的提交信息中:

    Git —— Commit Message 规范介绍,git,angular.js

    Git —— Commit Message 规范介绍,git,angular.js

    注意此处 VS Code 会提示“当前行比72超出39个字符”,这是因为 VS Code 限制了提交消息每行的最大长度。我们在上一步编辑 Body 时,受限于插件的界面,将所有内容都写在了一行中,因此在这里我们需要将 Body 部分的内容进行换行,达到美观和规范的目的。

  5. 最后我们点击提交按钮将本次修改提交到本地仓库,再点击同步就可以将本地仓库的提交记录推送到远程仓库了。

Commit Message 模板的配置和使用

在某些环境下,可能仅有的就是一个命令行终端,我们需要在命令行中手动输入 Commit Message。这时候我们就需要一个 Commit Message 模板来帮助我们快速生成符合规范的 Commit Message。

以 Linux 端为例,git 提供了一个 commit.template 的配置项,用来指定期望使用的 Commit Message 模板。

  1. 首先我们在项目的根目录创建一个 .gitmessage 文件,用来存放 Commit Message 模板:

    touch .gitmessage
    
  2. 然后我们编辑 .gitmessage 文件,将以下内容复制到 .gitmessage 文件中:

    # head: <type>(<scope>): <subject>
    # - type: ✨ feat, 🐞 fix, 📃 docs, 🌈 style, 🦄 refactor, 🎈 perf, 🧪 test, 🔧 build, 🐎 ci, 🐳 chore, ↩ revert
    # - scope: can be empty (eg. if the change is a global or difficult to assign to a single component)
    # - subject: start with verb (such as 'change'), 50-character line
    #
    
    # body: 72-character wrapped. This should answer:
    # * Why was this change necessary?
    # * How does it address the problem?
    # * Are there any side effects?
    #
    
    # footer: 
    # - Include a link to the ticket, if any.
    # - BREAKING CHANGE
    #
    
    
  3. 在项目路径下,我们通过 git config 命令指定 commit.template 的路径:

    git config commit.template .gitmessage
    

    注意:这里仅对当前项目进行了模板配置,如果想要对所有项目使用该模板,则将该文件放置到用户目录下,然后在上述命令中添加 --global 参数即可。

    git config --global commit.template ~/.gitmessage

此时通过命令 git commit不能带参数 -m !)即可显示模板,并在模板中快速完成 Commit Message 的编辑。

Git —— Commit Message 规范介绍,git,angular.js

Git —— Commit Message 规范介绍,git,angular.js

Git —— Commit Message 规范介绍,git,angular.js

Git —— Commit Message 规范介绍,git,angular.js文章来源地址https://www.toymoban.com/news/detail-776334.html

到了这里,关于Git —— Commit Message 规范介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 如何修改历史的 Commit message

            目录 修改最近一条Commit 修改过去若干条 Commit 场景:当分批次多次提交时,突然发现提交的message不符合规范,想要修改,这时就可以使用了 如果只是想修最近一条 Commit, 直接使用命令: 就可以进行修改,命令行会进入vim的界面,让你修改上一次的提交 Message,改好消

    2024年02月08日
    浏览(43)
  • [git] 规范Commit格式

    Jenkins 根据对比当次构建和上次构建的Commit信息来生成 ChangeLog ,但因为我们目前的提交不够规范,经常有类似\\\"#\\\",\\\"update\\\"这列的提交,无法提供给PM有效的更新记录,所以建议大家尽量规范Commit格式。 目前推荐大家是有这套规范,如果大家有更好的可以推荐使用,官网链接如下

    2023年04月14日
    浏览(49)
  • git commit 提交规范

    大致分为三个部分(使用空行分割): 标题行: 描述主要修改类型和内容 主题内容 页脚注释: 放 Breaking Changes 或 Closed Issues type commit 的类型: feat: 新功能、新特性 fix: 修改 bug perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化) refactor: 代码重构

    2024年01月18日
    浏览(55)
  • Git commit代码规范校验

    在团队协作开发中,遵循一致的代码提交规范是至关重要的。Git commit规范可以帮助团队成员更好地理解每个提交所做的更改,提高代码可读性和维护性。 需要用到两个工具:husky 和 commitlint Husky是一个可以让我们使用Git hooks的工具,通过配置pre-commit钩子函数,在代码提交前

    2024年02月11日
    浏览(49)
  • [Git CLion] 规范Commit格式

    Jenkins 根据对比当次构建和上次构建的Commit信息来生成 ChangeLog ,但因为我们目前的提交不够规范,经常有类似\\\"#\\\",\\\"update\\\"这列的提交,无法提供给PM有效的更新记录,所以建议大家尽量规范Commit格式。 目前推荐大家是有这套规范,如果大家有更好的可以推荐使用,官网链接如下

    2023年04月14日
    浏览(45)
  • 开发软技能——Git Commit规范

    提交代码是程序员们每天的工作日常,今天敬姐给大家分享一个好的编程习惯,就是关于Git Commit规范。 提交之后的效果如下: type: 必填 commit 类型,有业内常用的字段,也可以根据需要自己定义 feat 增加新功能 fix 修复问题/BUG style 代码风格相关无影响运行结果的 perf 优化

    2024年02月10日
    浏览(145)
  • 统一git使用方法,git状态变迁图,git commit提交规范

    目录 说明 统一git使用方法 git状态变迁图 git commit 提交规范 多次工作中多名员工不懂git多次技术分享,自行查资料学习git并使用,会出现使用各种偏僻的命令,异常问题无法解决;或出现带url的git合并提交;接触git1年一直在请教求助一直未入门。主要是学的不对,培训的不

    2024年02月11日
    浏览(41)
  • git 学习 之一个规范的 commit 如何写

    最好的话做一件完整的事情就提交一次

    2024年02月04日
    浏览(58)
  • 一文教你如何设置git commit模板规范

    今天看公司代码的提交历史,发现信息量过少,甚至是误导的commit message非常常见,并且无法定位到禅道的相关任务(有的公司用的是jira),对新人来说,查找以往的提交记录很不友好。 为方便新人更快更准确的理解工程师所提交的需求或缺陷,git在提交时需要指定格式提交

    2024年02月11日
    浏览(35)
  • (极简解决)git commit 时出现:please enter the commit message for your changes

    很多小白当使用git commit命令后,出现了这个框,而且按其他按键都没有反应的时候,肯定会有很多小白开始慌了。 原因分析:是对commit语句不熟练,或者对日志不习惯导致的。弹出这个框(文本编辑)的原因是因为更改这个文件提交后并没有做出备注,如果使用git commit -m

    2024年02月13日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包