跳到主要内容

Git 工作流

Git工作流是指团队在项目中管理代码变更的策略。不同规模、不同类型的项目可能适用不同的工作流。

常用工作流

1. 集中式工作流

所有开发者直接在master/main分支上工作,类似SVN的使用方式。

适用场景:小型团队、个人项目

优点

  • 简单易学
  • 无额外分支管理开销

缺点

  • 容易产生冲突
  • 不适合大型团队

2. 功能分支工作流

为每个功能创建独立的分支,开发完成后合并到主分支。

命令

# 创建功能分支
git checkout -b feature-login

# 开发完成后合并到主分支
git checkout main
git merge feature-login

# 删除功能分支
git branch -d feature-login

适用场景:中小型团队

3. Gitflow工作流

使用功能分支、发布分支和热修复分支的规范化工作流。

分支类型

分支命名规则用途生命周期
master/main主版本号生产环境代码长期
developdevelop开发主分支长期
featurefeature/*新功能开发短期
releaserelease/*发布准备短期
hotfixhotfix/*紧急修复短期

命令示例

# 开始新功能
git checkout -b feature-new develop

# 完成功能,合并到develop
git checkout develop
git merge feature-new
git branch -d feature-new

# 开始发布准备
git checkout -b release-1.0 develop

# 完成发布,合并到master和develop
git checkout master
git merge release-1.0
git tag -a v1.0.0 -m "版本 1.0.0"

git checkout develop
git merge release-1.0
git branch -d release-1.0

# 紧急修复
git checkout -b hotfix-1.0.1 master

# 修复完成后合并
git checkout master
git merge hotfix-1.0.1
git tag -a v1.0.1 -m "版本 1.0.1"

git checkout develop
git merge hotfix-1.0.1
git branch -d hotfix-1.0.1

4. Forking工作流

每个开发者拥有自己的远程仓库,通过Pull Request贡献代码。

适用场景:开源项目

命令

# Fork上游仓库后克隆到本地
git clone https://github.com/yourname/project.git
cd project
git remote add upstream https://github.com/original/project.git

# 创建功能分支
git checkout -b feature-new

# 推送到你自己的远程仓库
git push origin feature-new

# 在GitHub发起Pull Request

选择工作流的建议

团队规模推荐工作流
1-3人集中式或功能分支
3-10人功能分支或Gitflow
10人以上Gitflow或Forking
开源项目Forking

最佳实践

  • 保持分支简短干净
  • 定期从主分支拉取更新
  • 使用有意义的分支命名
  • 合并前进行代码审查
  • 及时删除已合并的分支