常用规则

This commit is contained in:
2026-06-24 18:32:50 +08:00
parent 00450e7602
commit 1887360cd4
7 changed files with 711 additions and 1 deletions
+74
View File
@@ -0,0 +1,74 @@
# Git 工作流规范
## 规则
1. **提交粒度**
- 每次提交只做一件事,保持提交的原子性。
- 避免将不相关的修改混入同一提交。
- 提交前使用 `git diff --cached` 检查变更内容。
2. **提交信息规范**
- 使用 `git commit -m "<type>: <subject>"` 格式。
- `<type>` 必须是以下之一:
- `feature`:新功能
- `bug`:修复 bug
- `docs`:文档更新
- `style`:代码格式(不影响功能)
- `refactor`:重构
- `test`:测试相关
- `chore`:构建过程或辅助工具的变动
- `<subject>` 使用祈使句,首字母小写,不超过 50 个字符。
- 需要详细说明时,使用 `-m` 多行提交,空行分隔标题和正文。
3. **分支管理**
- 主分支: `master`,始终保持可部署状态。
- 开发分支:`dev`,集成所有功能开发。
- 功能分支:`feature/<编号>`,没有编号时使用`feature/<描述>`,从 `master`切出,完成后合并回 `master`
- 修复分支:`bug/<编号>`,没有编号时使用`bug/<描述>`,从 `master` 切出,完成后合并回 `master`
- 紧急修复:`hotfix/<描述>`,从 `master` 切出,完成后合并回 `master`
4. **代码审查**
- 合并到 `master` 前必须通过 Pull Request。
- PR 标题遵循提交信息规范。
- PR 描述简要描述修改内容,不要过长的提交信息。
5. **冲突处理**
- 优先使用 `git rebase` 保持提交历史线性。
- 冲突解决后,确保代码可正常编译和运行。
- 禁止在公共分支上使用 `git push --force`
6. **标签与版本**
- 使用语义化版本号:`v<major>.<minor>.<patch>`
- 版本发布时创建对应的 tag。
-`CHANGELOG.md` 中记录版本变更。
## 示例
### 提交信息
```bash
# 正确
git commit -m "feature: add user authentication"
git commit -m "bug: resolve null pointer in order service"
# 错误
git commit -m "update"
git commit -m "Fix bug"
```
### 分支操作
```bash
# 创建功能分支
git checkout -b feature/user-login master
# 完成后合并
git checkout master
git merge --no-ff feature/user-login
```
## 适用范围
- 所有使用 Git 进行版本管理的项目
- 团队协作开发流程
- 开源项目贡献