Skip to content

Git 开发规范

分支管理

分支类型

  • main: 主分支,用于生产环境部署
  • develop: 开发分支,用于集成开发
  • feature/*: 功能分支,用于新功能开发
  • hotfix/*: 热修复分支,用于紧急修复

分支命名规范

bash
# 功能分支
feature/user-registration
feature/payment-integration

# 热修复分支
hotfix/payment-bug
hotfix/login-error

# 发布分支
release/v1.0.0

分支创建

bash
# 从 develop 创建功能分支
git checkout develop
git pull origin develop
git checkout -b feature/user-registration

# 从 main 创建热修复分支
git checkout main
git pull origin main
git checkout -b hotfix/payment-bug

提交规范

提交格式

bash
<type>(<scope>): <subject>

提交类型

  • feat: 新功能
  • fix: 修复问题
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建过程或辅助工具的变动

提交示例

bash
# 新功能
feat(user): 添加用户注册功能

# 修复问题
fix(order): 修复订单状态更新问题

# 文档更新
docs(api): 更新用户接口文档

# 代码重构
refactor(payment): 重构支付模块

工作流程

功能开发流程

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

# 2. 开发功能
git add .
git commit -m "feat(user): 添加用户注册功能"
git push origin feature/user-registration

# 3. 创建 Pull Request
# 在 GitHub/GitLab 上创建 PR

# 4. 代码审查
# 审查者检查代码,提出修改建议

# 5. 合并代码
git checkout develop
git pull origin develop
git branch -d feature/user-registration

热修复流程

bash
# 1. 创建热修复分支
git checkout main
git pull origin main
git checkout -b hotfix/payment-bug

# 2. 修复问题
git add .
git commit -m "fix(payment): 修复支付接口超时问题"
git push origin hotfix/payment-bug

# 3. 合并到 main 和 develop
git checkout main
git merge hotfix/payment-bug
git push origin main

git checkout develop
git merge hotfix/payment-bug
git push origin develop

代码审查

审查要点

  • 功能正确性: 代码是否实现了预期功能
  • 代码规范: 是否符合项目编码规范
  • 可读性: 代码是否易于理解和维护
  • 安全性: 是否存在安全漏洞

Pull Request 模板

markdown
## 功能描述
简要描述本次变更

## 变更内容
- 具体变更点1
- 具体变更点2

## 测试情况
- [ ] 单元测试通过
- [ ] 手动测试通过

## 相关 Issue
Closes #123

最佳实践

提交原则

  • 原子性: 每次提交只解决一个问题
  • 完整性: 提交应该是完整的功能单元
  • 可测试性: 每次提交都应该可以独立测试

分支管理

  • main 分支: 需要代码审查,禁止直接推送
  • develop 分支: 需要代码审查,允许合并
  • feature 分支: 允许推送,需要代码审查

常见问题

合并冲突

bash
# 解决合并冲突
git merge feature/new-feature
# 手动解决冲突后
git add .
git commit -m "resolve merge conflict"

提交信息错误

bash
# 修改最后一次提交信息
git commit --amend -m "feat(user): 添加用户注册功能"

相关文档


最后更新:2024-01-20
维护者:DSPlatform技术团队