分支
master
分支为主分支(保护分支),不能直接在master上进行修改代码和提交develop
分支为测试分支,所以开发完成需要提交测试的功能合并到该分支feature
分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到develop分支fix
分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复Tag
采用三段式,v版本.里程碑.序号,如v1.2.1
changelog
Commit message一般包括三部分:
Header
、Body
和Footer
Header
type(scope):subject
type
:用于说明commit的类别,规定为如下几种
scope
:【可选】用于说明commit的影响范围subject
:commit的简要说明,尽量简短Body
尾部(Footer)
git commit
时,提交信息遵循以下格式:
:emoji1: :emoji2: 不超过 50 个字的摘要,首字母大写,使用祈使语气,句末不要加句号
提交信息主体
引用相关 issue 或 PR 编号 <#110>
初次提交示例:
git commit -m ":tada: Initialize Repo"
emoji | emoji 代码 | commit 说明 |
---|---|---|
? (庆祝) | :tada: |
初次提交 |
✨ (火花) | :sparkles: |
引入新功能 |
? (书签) | :bookmark: |
发行/版本标签 |
? (bug) | :bug: |
修复 bug |
? (急救车) | :ambulance: |
重要补丁 |
? (地球) | :globe_with_meridians: |
国际化与本地化 |
? (口红) | :lipstick: |
更新 UI 和样式文件 |
? (警车灯) | :rotating_light: |
移除 linter 警告 |
? (扳手) | :wrench: |
修改配置文件 |
➕ (加号) | :heavy_plus_sign: |
增加一个依赖 |
➖ (减号) | :heavy_minus_sign: |
减少一个依赖 |
⬆️ (上升箭头) | :arrow_up: |
升级依赖 |
⬇️ (下降箭头) | :arrow_down: |
降级依赖 |
⚡ (闪电) ? (赛马) |
:zap: :racehorse: |
提升性能 |
? (上升趋势图) | :chart_with_upwards_trend: |
添加分析或跟踪代码 |
? (火箭) | :rocket: |
部署功能 |
✅ (白色复选框) | :white_check_mark: |
增加测试 |
? (备忘录) | :memo: |
撰写文档 |
? (锤子) | :hammer: |
重大重构 |
? (调色板) | :art: |
改进代码结构/代码格式 |
? (火焰) | :fire: |
移除代码或文件 |
✏️ (铅笔) | :pencil2: |
修复 typo |
? (施工) | :construction: |
工作进行中 |
? (工人) | :construction_worker: |
添加 CI 构建系统 |
? (绿心) | :green_heart: |
修复 CI 构建问题 |
? (锁) | :lock: |
修复安全问题 |
? (鲸鱼) | :whale: |
Docker 相关工作 |
? (苹果) | :apple: |
修复 macOS 下的问题 |
? (企鹅) | :penguin: |
修复 Linux 下的问题 |
? (旗帜) | :checked_flag: |
修复 Windows 下的问题 |
使用commit message规范
使用commit emoji规范
git blame
时可以快速明白代码用意
一款JetBrains系列工具插件,支持IDEA,WebStorm,AndroidStudio,PyCharm,CLoin,GoLand,PhpStorm等等
安装该插件后,在提交代码的时候,会自动提示应该输入的表情.
示例:
安装:
项目根目录下有一个文件:git-commit-emoji.jar
下载到本地后,打开Preference如下图:
目前支持表情:
代码格式,format of the code-?;
提升性能,Improving performance-⚡️;
移除,移除代码,Removing code or files-?;
Fixing a bug,修复bug-?;
撰写文档,文档,Writing docs-?;
重构,重大重构-?;
Downgrading dependencies,降低依赖-⬇️;
Upgrading dependencies,更新依赖-⬆️;
Docker相关工作,docker-?;
initial,initial commit-?;
Critical hotfix,紧急修复,重要补丁-?;
Introducing new features,新功能-✨;
Deploying stuff,配置东西-?;
Updating the UI and style files,更改UI设计-?;
添加测试,Adding tests-✅;
Fixing security issues,修复安全issues-?;
Fixing something on macOS,修复macOS bug-?;
Fixing something on Linux,修复Linux bug-?;
Fixing something on Windows,修复Windows bug-?;
Fixing something on Android,修复Android bug-?;
Fixing something on iOS,修复Ios bug-?;
Releasing / Version tags,发布版本,发布tag-?;
Removing linter warnings,删除警告-?;
Work in progress,工作过程中-?;
Fixing CI Build,修复ci构建-?;
Pinning dependencies to specific versions,将依赖关系绑定到特定版本-?;
Adding CI build system,添加CI生成系统-?;
Adding analytics or tracking code,添加分析或跟踪代码-?;
Refactoring code,重构代码-♻️;
Removing a dependency,减少依赖-➖;
Adding a dependency,增加依赖-➕;
Changing configuration files,改变配置程序-?;
Internationalization and localization,国际化和本土化-?;
Fixing typos,修改错别字-✏️;
Writing bad code that needs to be improved,需要重构的代码-?;
Reverting changes,回滚代码-⏪;
Merging branches,合并分支-?;
Moving or renaming files,删除文件,重命名文件-?;
Adding or updating license,修改license,添加license-?;
Adding or updating assets,增加断言,修改断言-?;
Updating code due to code review changes,当code review时修改代码-?;