代码共建与提交流程文档
1. 概述
本文档旨在规范团队代码共建和提交流程,确保代码质量、可维护性和协作效率。
2. 环境准备
2.1 开发工具配置
# 安装必备工具
npm install -g commitizen cz-conventional-changelog
2.2 Git配置
# 设置用户名和邮箱
git config --global user.name "您的姓名"
git config --global user.email "您的邮箱"
# 设置commit模板
git config --global commit.template ~/.git_commit_template
3. 代码提交流程
3.1 准备工作
- 从主分支拉取最新代码
git checkout main
git pull origin main
- 创建功能分支
git checkout -b feat/功能名称
# 或
git checkout -b fix/问题描述
3.2 开发与提交
- 进行代码修改
- 添加变更文件
git add <文件路径>
# 或添加所有变更
git add .
- 提交代码(使用约定式提交)
git-cz
# 或手动提交
git commit -m "feat: 添加新功能"
- 推送分支到远程
git push origin feat/功能名称
3.3 提交信息规范
使用约定式提交(Conventional Commits)格式:
<类型>[可选范围]: <描述>
[可选正文]
[可选脚注]
常用类型:
- feat: 新功能
- fix: 修复问题
- docs: 文档更新
- style: 代码格式调整
- refactor: 代码重构
- test: 测试相关
- chore: 构建过程或辅助工具变动
示例:
feat(auth): 添加用户登录功能
- 实现JWT认证
- 添加登录页面组件
Closes #123
4. 代码审查流程
4.1 创建Pull Request
- 在Git仓库页面创建PR
- 填写PR模板内容:
- 功能描述
- 相关Issue链接
- 测试情况
- 截图(如适用)
4.2 代码审查要点
- 代码是否符合编码规范
- 功能实现是否正确
- 是否有适当的测试覆盖
- 文档是否需要更新
4.3 处理审查意见
- 根据审查意见修改代码
- 推送更新到同一分支
- 在PR中回复已处理的评论
5. 合并与部署
5.1 合并策略
- 使用Squash Merge保持提交历史整洁
- 删除已合并的功能分支
5.2 版本发布
# 使用标准版本号
npm version [major|minor|patch]
6. 注意事项
- 禁止直接推送主分支
- 每次提交应聚焦单一功能或修复
- 确保通过所有测试后再提交PR
- 及时解决代码冲突
7. 常见问题
7.1 代码冲突解决
# 拉取最新主分支代码
git checkout main
git pull origin main
# 切换回功能分支
git checkout feat/功能名称
# 合并主分支
git merge main
# 解决冲突后提交
git add .
git commit -m "resolve conflicts"
8. 附录
8.1 Git钩子示例
在 .git/hooks/pre-commit 中添加:
#!/bin/sh
npm run lint
npm test
8.2 PR模板示例
## 变更描述
## 相关Issue
## 测试情况
## 截图(如需要)
更多推荐
所有评论(0)