Files
smart-customer-service/GIT_FLOW.md
Ubuntu 89623306c3 feat: 实现用户认证系统
 新增功能:
1. 用户认证数据库模型
   - AuthToken (认证令牌)
   - LoginAttempt (登录尝试记录)
   - PasswordReset (密码重置)
   - Session (用户会话)

2. 认证服务 (AuthService)
   - 用户登录/注册
   - 令牌刷新
   - 密码重置
   - 会话管理

3. JWT管理器
   - 访问令牌生成/验证
   - 刷新令牌管理
   - 密码重置令牌
   - API令牌支持

🔒 安全特性:
- bcrypt密码加密
- JWT令牌验证
- 登录尝试记录
- 会话管理
- 令牌撤销机制

📝 技术实现:
- 使用GORM进行数据库操作
- JWT v5进行令牌管理
- 完整的错误处理
- 详细的日志记录

作者:小弟 (大哥的AI助手)
分支:feature/user-authentication
2026-02-27 17:11:15 +08:00

5.1 KiB

Git Flow 工作流规范

📋 分支策略

主要分支

  • main - 生产环境代码,只接受release/*hotfix/*的合并
  • develop - 开发分支,所有功能开发的基础分支

支持分支

  • feature/* - 功能分支,从develop创建,完成后合并回develop
  • release/* - 发布分支,从develop创建,用于版本发布
  • hotfix/* - 热修复分支,从main创建,紧急修复生产问题

🚀 工作流程

1. 功能开发流程

# 1. 从develop创建功能分支
git checkout develop
git pull origin develop
git checkout -b feature/user-authentication

# 2. 开发功能并提交
git add .
git commit -m "feat: 实现用户认证功能"
git push origin feature/user-authentication

# 3. 开发完成后合并到develop
git checkout develop
git pull origin develop
git merge --no-ff feature/user-authentication

# 4. 推送到远程develop
git push origin develop

# 5. 删除功能分支
git branch -d feature/user-authentication
git push origin --delete feature/user-authentication

2. 发布流程

# 1. 从develop创建发布分支
git checkout develop
git checkout -b release/v1.0.0

# 2. 进行发布准备(版本号、文档等)
# 3. 合并到main和develop
git checkout main
git merge --no-ff release/v1.0.0
git tag -a v1.0.0 -m "Release v1.0.0"

git checkout develop
git merge --no-ff release/v1.0.0

# 4. 推送到远程
git push origin main --tags
git push origin develop

# 5. 删除发布分支
git branch -d release/v1.0.0
git push origin --delete release/v1.0.0

3. 热修复流程

# 1. 从main创建热修复分支
git checkout main
git checkout -b hotfix/critical-bug

# 2. 修复问题并提交
git add .
git commit -m "fix: 修复关键bug"
git push origin hotfix/critical-bug

# 3. 合并到main和develop
git checkout main
git merge --no-ff hotfix/critical-bug
git tag -a v1.0.1 -m "Hotfix v1.0.1"

git checkout develop
git merge --no-ff hotfix/critical-bug

# 4. 推送到远程
git push origin main --tags
git push origin develop

# 5. 删除热修复分支
git branch -d hotfix/critical-bug
git push origin --delete hotfix/critical-bug

📝 提交规范

提交消息格式

<type>: <subject>

<body>

<footer>

类型说明

  • feat - 新功能
  • fix - 修复bug
  • docs - 文档更新
  • style - 代码格式调整(不影响功能)
  • refactor - 代码重构
  • test - 测试相关
  • chore - 构建过程或辅助工具变动

示例

# 新功能
git commit -m "feat: 添加用户注册功能"

# Bug修复
git commit -m "fix: 修复登录页面样式问题"

# 文档更新
git commit -m "docs: 更新API接口文档"

# 代码重构
git commit -m "refactor: 重构用户认证模块"

🔧 分支命名规范

功能分支

feature/<功能名称>
feature/user-authentication
feature/chat-interface
feature/ticket-system

发布分支

release/<版本号>
release/v1.0.0
release/v1.1.0

热修复分支

hotfix/<问题描述>
hotfix/login-error
hotfix/database-connection

📊 分支生命周期

功能分支

创建 → 开发 → 测试 → 合并 → 删除
   ↓      ↓      ↓      ↓      ↓
feature → PR → Review → Merge → Cleanup

发布分支

创建 → 测试 → 发布 → 合并 → 删除
   ↓      ↓      ↓      ↓      ↓
release → QA → Deploy → Tag → Cleanup

热修复分支

创建 → 修复 → 测试 → 合并 → 删除
   ↓      ↓      ↓      ↓      ↓
hotfix → Fix → Test → Deploy → Cleanup

🛠️ 工具支持

常用命令

# 查看分支图
git log --oneline --graph --all

# 查看远程分支
git branch -r

# 清理已合并的分支
git branch --merged | grep -v "\*" | xargs -n 1 git branch -d

# 强制更新本地分支
git fetch --all
git reset --hard origin/develop

别名配置(可选)

# 添加到 ~/.gitconfig
[alias]
    co = checkout
    br = branch
    ci = commit
    st = status
    lg = log --oneline --graph --all
    pushdev = push origin develop
    pushmain = push origin main

🚨 注意事项

1. 分支管理

  • 每个功能一个独立分支
  • 分支名称要有描述性
  • 及时删除已合并的分支
  • 保持分支历史清晰

2. 合并策略

  • 使用 --no-ff 保留分支历史
  • 先更新基础分支再合并
  • 解决所有冲突后再推送
  • 添加有意义的提交消息

3. 代码质量

  • 每个功能都要有测试
  • 遵循代码规范
  • 定期进行代码审查
  • 保持文档同步更新

4. 协作规范

  • 定期同步远程分支
  • 及时处理PR评论
  • 保持沟通透明
  • 尊重他人代码

📈 最佳实践

开发前

  1. 从最新develop分支创建功能分支
  2. 明确功能需求和验收标准
  3. 更新相关文档

开发中

  1. 小步提交,频繁推送
  2. 保持代码整洁
  3. 及时更新基础分支

开发后

  1. 运行所有测试
  2. 更新文档和注释
  3. 创建Pull Request
  4. 进行代码审查
  5. 合并后删除分支

最后更新: 2026-02-27
维护者: 小弟 (大哥的AI助手)
状态: 🟢 已启用