GIT-WORKFLOW.md
4.34 KB
Git 工作流规范
更新时间: 2026-02-05
本文档定义项目的 Git 工作流和提交规范。
🌳 分支策略
主要分支
master - 生产环境(主分支)
develop - 开发环境(日常开发)
feature/* - 功能分支
bugfix/* - Bug 修复分支
hotfix/* - 紧急修复分支
分支命名
# 功能开发
feature/功能名称
feature/user-profile
feature/points-system
# Bug 修复
bugfix/问题描述
bugfix/login-error
# 紧急修复
hotfix/严重问题
hotfix/security-fix
🔄 工作流程
1. 开始新功能
# 从 develop 创建功能分支
git checkout develop
git pull origin develop
git checkout -b feature/your-feature-name
# 开发...
git add .
git commit -m "feat: 添加用户头像上传功能"
# 推送到远程
git push origin feature/your-feature-name
2. 完成 Bug 修复
# 从 develop 创建修复分支
git checkout develop
git pull origin develop
git checkout -b bugfix/login-error
# 修复...
git add .
git commit -m "fix: 修复登录页面验证码错误"
# 推送并创建 PR
git push origin bugfix/login-error
3. 合并到 develop
# 创建 Pull Request(GitHub/GitLab)
# 或 Merge Request(GitLab)
# 审查通过后合并
git checkout develop
git pull origin develop
git branch -d feature/your-feature-name
📝 Commit Message 规范
格式
<type>(<scope>): <subject>
<body>
<footer>
Type(类型)
| 类型 | 说明 | 示例 |
|---|---|---|
feat |
新功能 | feat(user): 添加用户头像上传 |
fix |
Bug 修复 | fix(login): 修复验证码倒计时 |
docs |
文档更新 | docs(readme): 更新安装说明 |
style |
代码格式(不影响功能) | style(component): 统一代码缩进 |
refactor |
重构(不是新功能也不是修复) | refactor(api): 重构请求拦截器 |
perf |
性能优化 | perf(list): 优化长列表渲染 |
test |
测试相关 | test(utils): 添加工具函数测试 |
chore |
构建/工具链相关 | chore(deps): 升级 Taro 版本 |
Scope(范围)
根据项目自定义:
-
user- 用户相关 -
family- 家庭相关 -
points- 积分相关 -
photo- 照片相关 -
api- API 接口 -
ui- UI 组件 -
config- 配置文件
Subject(主题)
- 简短描述(不超过 50 字符)
- 使用中文
- 不以句号结尾
- 使用祈使句(如 "添加" 而非 "添加了")
示例
feat(user): 添加用户头像上传功能
- 实现图片选择功能
- 添加裁剪和压缩
- 集成到用户设置页面
Closes #123
fix(login): 修复验证码倒计时问题
- 修复页面切换后倒计时停止
- 添加 onUnmounted 清理定时器
Fixes #456
🚫 禁止事项
❌ 禁止直接提交到 master
# 错误
git checkout master
git commit -m "feat: 新功能"
# 正确
git checkout develop
git commit -m "feat: 新功能"
# 创建 PR 合并到 master
❌ 禁止推送未测试的代码
# 提交前必须测试
pnpm run lint # 代码检查
pnpm run test # 运行测试
❌ 禁止包含敏感信息
# 检查是否有敏感信息
git diff | grep -i "password\|token\|secret\|api_key"
✅ 提交前检查清单
在提交代码前,确认:
- 代码通过 ESLint 检查
- 代码通过 Prettier 格式化
- 测试通过(如果有)
- 无 console.log 或 debugger
- 无注释掉的代码
- 代码注释完整
- Commit Message 符合规范
- CHANGELOG.md 已更新(如有重大变更)
🔧 Git Hooks 配置(待添加)
Husky + lint-staged
# 安装依赖
pnpm add -D husky lint-staged
# 初始化 Husky
pnpm prepare
# 配置 lint-staged
.husky/pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# 代码检查
pnpm lint
# 运行测试
pnpm test
package.json
{
"scripts": {
"prepare": "husky install"
},
"lint-staged": {
"*.{js,vue}": [
"eslint --fix",
"prettier --write"
]
}
}
📚 参考资源
维护者: 开发团队 最后更新: 2026-02-05