前言
为什么要强调Git代码提交的信息规范呢?笔者在工作中看到的五花八门的代码提交信息真的是深恶痛绝,完全不知道这些人提交的是关于哪方面的内容,以至于后续如果出现版本回滚或者追踪提交记录时无从下手,只能一个个点开看,我真的是无语住了(只是笔者人微言轻,敢怒不敢言,只能规范自身)!
老话说的好,无规矩不成方圆,废话就不多说了,下面展示 Git-Commit-Message
规范的各种常用名词前缀及其含义,记不住没关系,每次提交时就看下对应的列表信息时间一长就记住了。
Git 提交前缀
feat
:新增功能(Feature)- 示例:feat: 添加用户登录功能
- 解释:这次提交主要增加了新的功能或特性。
fix
:修复 bug- 示例:fix: 修复用户登录时的密码验证问题
- 解释:这次提交主要用于修复已知的问题或错误。
refactor
:代码重构- 示例:refactor: 优化用户模块的代码结构
- 解释:这次提交不增加新功能也不修复 bug,而是对现有代码进行优化或重构,提高代码质量和可维护性。
docs
:文档更新- 示例:docs: 更新用户登录功能的文档
- 解释:这次提交主要涉及文档的更新或添加,如 README 文件、API 文档等。
test
:添加或更新测试用例- 示例:test: 增加用户登录功能的单元测试
- 解释:这次提交主要涉及测试代码的添加或修改,确保功能的正确性和稳定性。
chore
:常规维护任务- 示例:chore: 更新项目依赖
- 解释:这次提交涉及项目的常规维护任务,如更新依赖库、配置文件等。
style
:代码风格调整- 示例:style: 调整代码缩进和格式
- 解释:这次提交主要涉及代码风格的调整,如缩进、空格、换行等,通常不会影响功能。
perf
:性能优化- 示例:perf: 优化用户登录接口的响应时间
- 解释:这次提交主要目的是提升代码的性能,减少资源消耗或提高响应速度。
ci
:持续集成相关- 示例:ci: 配置 Travis CI
- 解释:这次提交主要涉及持续集成(CI)相关的配置或脚本更新。
build
:构建系统相关- 示例:build: 更新 Maven 配置
- 解释:这次提交主要涉及构建系统的配置或脚本更新,如 Maven、Gradle 等。
ci/cd
:持续集成/持续部署相关- 示例:ci/cd: 配置 Jenkins 流水线
- 解释:这次提交主要涉及 CI/CD 相关的配置或脚本更新。
revert
:回滚提交- 示例:revert: 回滚上一次的用户登录功能修改
- 解释:这次提交用于撤销之前的某次提交。
security
:安全相关- 示例:security: 修复 SQL 注入漏洞
- 解释:这次提交主要用于修复安全相关的问题。
i18n
:国际化- 示例:i18n: 添加多语言支持
- 解释:这次提交主要涉及国际化相关的修改,如添加多语言支持。
l10n
:本地化- 示例:l10n: 更新中文翻译
- 解释:这次提交主要涉及本地化相关的修改,如更新特定语言的翻译。
merge
:合并分支- 示例:merge: 合并 develop 分支到 master
- 解释:这次提交用于记录分支合并操作。
hotfix
:紧急修复- 示例:hotfix: 紧急修复生产环境的登录问题
- 解释:这次提交用于紧急修复生产环境中的问题。
dependencies
:依赖管理- 示例:dependencies: 升级 Spring Boot 版本
- 解释:这次提交主要涉及项目依赖的更新或管理。
用法很简单,就是提交的时候写上 前缀:你本次修改的东西
下面是一些使用心得技巧
Git代码提交规范
1、切忌一次大量提交代码
2、每次 fix 或 feat 一个功能即需要提交到本地,可以不提交到远程
3、提交代码前必须先拉代码
4、一般情况下不得强制提交
5、一个新功能拉取单独的分支开发,开发完后再合并到主分支上
6、禁止无意义说明提交
7、通常需要每天下班前推送本地仓库到远程仓库中
8、Commit Log 都遵循一个精确的格式,以增加可读性,便于查看变更历史,并养成良好的 git 使用习惯
总结
以上就是笔者对于Git代码提交规范的整理总结,希望大家在以后的工作中能够多注重规范和团队协作,这样不仅能体现自己专业的一面,同时也提高了工作效率,利人利己。