Git 工作流程最佳实践
Git 工作流程最佳实践
Git 是现代软件开发中不可或缺的版本控制工具。本文将总结一些实用的 Git 工作流程和最佳实践,帮助团队更好地协作开发。
分支管理策略
1. 主分支
main
/master
: 主分支,保持稳定develop
: 开发分支,用于集成功能
2. 功能分支
feature/*
: 新功能开发bugfix/*
: 问题修复hotfix/*
: 紧急修复release/*
: 版本发布
提交规范
1. 提交信息格式
<type>(<scope>): <subject>
<body>
<footer>
2. 类型说明
feat
: 新功能fix
: 修复问题docs
: 文档更新style
: 代码格式调整refactor
: 代码重构test
: 测试相关chore
: 构建过程或辅助工具的变动
3. 示例
feat(auth): 添加用户登录功能
- 实现邮箱密码登录
- 添加记住登录状态
- 集成 JWT 认证
Closes #123
工作流程
1. 功能开发流程
# 1. 创建功能分支
git checkout -b feature/user-login
# 2. 开发功能
git add .
git commit -m "feat(auth): 添加登录表单"
# 3. 同步主分支
git checkout develop
git pull
git checkout feature/user-login
git rebase develop
# 4. 提交合并请求
git push origin feature/user-login
2. 代码审查
- 使用 Pull Request/Merge Request
- 确保 CI 通过
- 至少一个审查者批准
- 解决所有评论
3. 版本发布
# 1. 创建发布分支
git checkout -b release/1.0.0
# 2. 版本号更新
# 3. 更新 CHANGELOG
# 4. 提交更改
git commit -m "chore(release): 发布 1.0.0 版本"
# 5. 合并到主分支
git checkout main
git merge release/1.0.0
git tag -a v1.0.0 -m "版本 1.0.0"
# 6. 合并到开发分支
git checkout develop
git merge release/1.0.0
常用命令
1. 分支操作
# 查看分支
git branch -a
# 创建并切换分支
git checkout -b feature/new-feature
# 删除分支
git branch -d feature/old-feature
2. 提交操作
# 暂存更改
git stash
# 应用暂存
git stash pop
# 修改最后一次提交
git commit --amend
3. 远程操作
# 更新远程分支信息
git fetch --prune
# 强制更新本地分支
git reset --hard origin/develop
# 推送标签
git push --tags
最佳实践
-
保持提交原子性
- 每个提交只做一件事
- 提交信息清晰明确
-
定期同步主分支
- 避免分支差异过大
- 及时解决冲突
-
使用 Git 钩子
- 提交前代码检查
- 提交信息格式验证
-
保护重要分支
- 设置分支保护规则
- 强制代码审查
- 禁止直接推送
常见问题解决
- 撤销提交
# 撤销最后一次提交
git reset --soft HEAD^
# 撤销远程提交
git revert <commit-hash>
- 解决冲突
# 查看冲突文件
git status
# 解决冲突后
git add .
git commit -m "fix: 解决合并冲突"
总结
良好的 Git 工作流程可以:
- 提高团队协作效率
- 保持代码质量
- 方便追踪变更
- 简化版本管理
建议根据团队规模和项目需求,选择合适的工作流程,并严格执行。