Git 使用标准(人类)
本文面向人类开发者,强调日常协作中最容易出错的操作与最低可执行标准。
1. 分支命名规则
- develop:开发主干,最不稳定的分支(有可能有很多刚开发完的功能会陆陆续续的往里面合并)
- master:开发周期中的中间分支,每个版本结束之后,会用develop同步到这个分支(这只是原有想法,暂时没怎么用上)
- release:线上分支,这个分支永远对标是的是线上用户跑的版本,只有当预发布分支正式发布之后,才会把预发布分支同步到这个分支。
- 预发布分支:用release创建的分支,这个分支意味着将要准备发布内部到线上。
- 命名约定
- 小更新:release-日期
- 送审包:release-review-日期
- 命名约定
- 个人分支:顾名思义,不多解释。
- 命名约定:个人名字简写/目标分支/分支改动描述,例如czy/develop/bufig-task
2. 常用Git操作
- 从最新主线拉取分支(Pull)
- 解决冲突:1. 不能参考svn的解决操作。 2. 不懂或者不熟,最好让别人或者AI指点一下。
- 基于目标分支创建你的分支(Create Branch)
- 提交改动(Commit)
- 推送(Push)
- 创建 MR(合并请求)
3. 提交信息规范
正常来说个人分支不需要太多的要求,因为都需要申请 MR(合并请求),MR的要求下面会说。
4. MR(合并请求)要求
- 勾上
Remove source branch。(重新创建分支没那么麻烦,用已经合并的老分支导致造成冲突才麻烦) - 勾上
Squash commits。 - 标题一定要写,并且是这次改动的简要。(查看提交记录主要是看这个标题)
- 标题最好能带上平台单子的id,例如 PROJECT2-949,这样方便回溯
- 内容可以不填,看实际情况。
5. 合并前检查
- 代码/配置与当前需求匹配
- 无未提交临时文件(本地日志、调试脚本、构建产物)
- 与最新主线无明显冲突
6. 禁止项
- 未经评审直接合并主线
- 强制重写共享分支历史(
--force) - 在提交中混入大量无关文件
- 在代码中硬编码密钥、token、账号或路径信息
7. 冲突与回退
- 处理冲突时先解决最小范围,保证功能不退化。
- 不能确认影响时,不要直接推进,先同步评审人或负责人。
- 回退前确保有:
- 回退点(commit/hash)
- 回退影响范围说明
- 验证命令
8. 经验化建议(新手高频踩坑)
- 每次只改一个独立问题,避免一次提交包含 5+ 功能点