我是怎么写 Git Commit message 的?

简介: 我是怎么写 Git Commit message 的?

文章目录:

  • 作用
  • 用的什么规范?
  • type
  • scope
  • subject
  • body
  • footer
  • 参考文章
  • 用的什么辅助工具?
  • 推荐阅读


作用

编写格式化的 commit message 能够大大提高代码的维护效率。

比如:

  • 可以提供更多的历史信息,方便快速浏览;
  • 可以过滤某些 commit(比如文档改动),便于快速查找信息;
  • 可以直接从 commit 生成 Change log

用的什么规范?

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

其中,Header 是必需的,Body 和 Footer 可以省略。

type

type 用于说明 commit 的类别。

  • feature A new feature
  • fix 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 A code change that neither fixes a bug nor adds a feature
  • perf A code change that improves performance
  • test Adding missing tests or correcting existing tests
  • build Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • chore Other changes that don't modify src or test files
  • revert Reverts a previous commit

scope

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

subject

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

body

Body 部分是对本次 commit 的详细描述,可以分成多行。

footer

BREAKING CHANGE,用来描述当前 commit 与上一个版本不兼容的地方。

Issue,用来描述当前 commit 针对的某个issue。

参考文章

Commit message 和 Change log 编写指南[1]

用的什么辅助工具?

太教条了,太累... 给大家分享一个我使用的工具。

JetBrains IDE 插件,在 GoLandPhpStorm 中 都可以在插件市场搜索 Git Commit Message Helper

插件地址:Git Commit Message Helper[2]

安装后效果,在 git commit 时:

8bad4478455ce24402538fcee02fce4b.png

954bb43b5bc22e86ca3ffe274de249dd.png

咱们看一下效果:

ec9f15127da0f295e842ecbee09a9f61.png

b0effa17891e8c663d88cd7b6eab57a1.png

这时,点击 Commit 或 Commit and Push... 即可。

目录
打赏
0
0
0
0
63
分享
相关文章
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
Git Commit Msg
Git Commit Msg
85 0
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
218 1
|
6月前
|
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
261 4
|
6月前
|
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
346 3
|
7月前
|
Git——commit的提交规范
Git——commit的提交规范
158 4
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
191 0
前端优化之路:git commit 校验拦截
前面在git分支规范那篇文章里,介绍了commit提交规范,但是想要做到高效落地执行,就需要做些别的功课。

相关实验场景

更多