# <center> Git 使用规范培训文档
欢迎大家参加本次关于 Git 使用规范的培训。在团队协作中,统一的代码提交和分支管理规范能够提高开发效率,减少冲突,并保证代码质量。本次培训将重点介绍以下几个方面:代码提交类型、分支管理、合并流程以及发布和版本管理。
1\. 代码提交类型
----------
在项目开发过程中,我们采用了以下几种代码提交类型,以便更好地跟踪代码变更和记录开发过程。
* `feat`: 新增 feature 功能
* `fix`: 修复 bug
* `docs`: 仅修改文档,如 README、CHANGELOG、CONTRIBUTE 等
* `style`: 修改空格、格式缩进、逗号等,不改变代码逻辑
* `refactor`: 代码重构,不新增功能或修复 bug
* `perf`: 优化相关,如性能提升、体验改善
* `test`: 测试用例,包括单元测试、集成测试等
* `chore`: 改变构建流程、增加依赖库、工具等
* `revert`: 回滚到上一个版本
在提交代码时,请选择适当的类型,并附上清晰的提交信息,以便团队成员了解代码变更的目的和内容。
2\. 分支管理
--------
我们使用分支管理来组织团队协作和版本控制,分支类型包括:`feature`、`bugfix`、`refactor` 三种。
分支命名规则:分支类型 \- 分支发布时间 \- 分支功能。例如:`feature-20170401-fairy_flower`。
* `feature` 分支:新功能开发,从 `master` 拉取,用于开发和测试新功能。
* `bugfix` 分支:修复 bug,从 `master` 拉取,用于修复紧急问题。
* `refactor` 分支:代码重构,从 `master` 拉取,用于重构代码逻辑。
3\. 合并流程
--------
在完成开发和单元测试后,准备合并代码至 `master` 分支之前,需要进行以下步骤:
1. 检查 `master` 是否有更新,若有更新,先从远程 `master` 拉取最新代码,并在本地进行 rebase 操作,保持代码历史整洁。
2. 将当前开发分支进行 rebase 操作,确保代码与 `master` 分支同步。
3. 若有冲突,解决冲突后进行单元测试。
4. 确保单元测试通过后,准备进行合并。
4\. 合并和发布
---------
1. 完成 rebase 后,从本地开发分支创建一个新分支,用于合并至 `master`。
2. 使用命令 `git merge --no-ff feature-x` 将新分支合并至 `master` 分支,保留分支历史。
3. 确保合并后的代码通过测试,没有问题后,可以进行发布。
5\. 版本管理与发布
-----------
1. 在合并至 `master` 后,进行代码发布前,需要进行测试以确保代码质量。
2. 当代码准备发布时,使用命令 `git tag` 创建一个新的版本标签,格式为 `vX.Y.Z`(例如:v1.2.31)。
3. 推送代码和标签至远程仓库,完成发布。
通过遵循上述规范,我们可以实现更加高效和有序的代码开发、协作和版本管理。希望大家能够在日常开发中认真遵循这些规范,以提高团队协作效率和代码质量。
如果有任何疑问或需要进一步的指导,请随时与团队的 Git 负责人进行沟通。感谢大家的参与!
祝大家愉快地使用 Git 进行协作开发!