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