Git 分支管理最佳实践

让团队协作更顺畅的工作流

Posted on 2024-12-15

Git 的强大之处在于分支管理。良好的分支策略能让团队协作事半功倍,避免代码冲突和混乱。

核心分支

经典的 Git Flow 工作流包含以下分支:

  • main/master - 主分支,始终保持可发布状态
  • develop - 开发分支,集成最新功能
  • feature/* - 功能分支,开发新功能
  • hotfix/* - 紧急修复分支
  • release/* - 发布准备分支

常用 Git 命令

分支操作

# 创建新分支
git checkout -b feature/new-feature

# 切换分支
git checkout develop

# 查看所有分支
git branch -a

# 删除本地分支
git branch -d feature/old-feature

# 删除远程分支
git push origin --delete feature/old-feature

合并操作

# 合并分支
git checkout develop
git merge feature/new-feature

# 变基合并(保持线性历史)
git checkout feature/new-feature
git rebase develop

# 推送到远程
git push origin feature/new-feature

功能分支工作流

最常用的工作流步骤:

  1. 从 develop 拉出功能分支
  2. 在功能分支上开发
  3. 提交代码并推送
  4. 创建 Pull Request
  5. 代码审查通过后合并到 develop
# 1. 开始新功能
git checkout develop
git pull origin develop
git checkout -b feature/user-auth

# 2. 开发并提交
git add .
git commit -m "feat: add user authentication"

# 3. 推送并创建 PR
git push -u origin feature/user-auth

提交信息规范

使用约定式提交(Conventional Commits):

feat: 新功能
fix: 修复 bug
docs: 文档更新
style: 代码格式(不影响功能)
refactor: 重构
test: 测试相关
chore: 构建/工具相关

处理冲突

# 1. 拉取最新代码
git fetch origin
git rebase origin/develop

# 2. 如果有冲突,手动解决
# 编辑冲突文件后

# 3. 标记冲突已解决
git add 
git rebase --continue

# 4. 强制推送(变基后需要)
git push --force-with-lease

最佳实践

  • 频繁提交 - 小步快跑,每次提交一个逻辑单元
  • 清晰的提交信息 - 让人一看就知道改了什么
  • 及时拉取最新代码 - 减少冲突
  • 代码审查 - 所有代码通过 PR 合并
  • 保护主分支 - 设置分支保护规则

总结

良好的分支管理是团队协作的基础。选择适合团队的流程,并坚持下去比追求完美的流程更重要。