目录
一、基于develop创建自己的feature分支
- 使用git checkout切换到develop分支
git checkout develop
- 基于develop分支创建feature分支
格式: git checkout -b feature/<开发者>/<分支功能>
例: git checkout -b feature/gxw/statistic_log
二、提交代码
格式
bash
<type>[scope]: <subject>
// 空一行
[body]
// 空一行
[footer]
注:[]代表可选,<>代表必选。
- type
必填,用于指定 commit 的类型。
feat:增加新功能
fix:修复 bug
docs:只改动了文档相关的内容
style:格式修改,没有修改代码逻辑,比如格式化、换行等
refactor:重构代码,既没有新增功能,也没有修复 bug,比如提取某段代码为一个方法、重构某个功能等
perf:性能、体验优化等
test:新增 test 用例或修改现有测试用例
build:构造工具的或者外部依赖的改动,比如 maven
ci:与 CI(持续集成服务)有关的改动
chore:不修改 src 或者 test 的其余修改,例如构建过程或辅助工具的变动
revert:执行 git revert 打印的 message
当同时有feat、fix和其他类型时,类型取feat、fix。
- scope
非必填,用于描述改动的范围,格式一般为项目名/模块名,如果一次 commit 修改多个模块,建议拆分成多次 commit,以便更好追踪和维护。 - subject
必填,此次提交的简短描述,动词开头,第一人称现在时,比如add,而不用 added、adds,第一个字母小写,句尾不加句号(.) - body
非必填,此次提交的详细描述,主要描述改动之前的情况及修改动机,对于小的修改不作要求,但是重大需求、更新等必须添加body来作说明。 - footer
footer只用于以下两种情况- break changes
break changes 指明是否产生了破坏性修改,涉及 break changes 的改动必须指明该项,类似版本升级、接口参数减少、接口删除、迁移等,以BREAKING CHANGE:开头,后面是变动的描述、变动的理由以及迁移的方法。 - 关闭 issue
当前提交修改了某个 issue
- break changes
简易版
项目中实际可以采用简易版规范:
bash
<type>(<scope>):<subject>
单次提交注意事项
提交问题必须为同一类别
提交问题不要超过3个
提交的commit发现不符合规范,git commit --amend -m "新的提交信息"或 git reset --hard HEAD 重新提交一次
三、提交到远程仓库
git push
可能会遇到下面的提示
这事因为远程仓库没有对应的分支,复制并执行红框中的命令,可以在远程仓库新建对应的分支,并自动上传到远程仓库。
四、提交合并请求
- 登录到GitLab的对应工程下,找到"Merge Request"标签页,然后点击"New merge request"创建合并请求。
- 在新页面选择分支,Source branch选择自己创建的feature分支,Target branch选择develop分支,选择完毕后点击"Compare branch and continue"。
- 填写相关信息,选择审核人,之后点击"Submit merge request"。