阶段三:分支策略

第11课:Git Flow工作流

📖 课程概述

本课我们深入学习Git Flow。五种分支类型、feature/release/hotfix流程、优缺点。这是Git精通课程的第11课,通过本课学习你将掌握相关核心概念和实操技能,能够在实际项目中灵活运用。

🎯 学习目标

1. 分支结构

master/develop/feature/release/hotfix。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在分支结构中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 分支结构相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用分支结构相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

2. 功能开发

git flow feature start/finish。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在功能开发中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 功能开发相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用功能开发相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

3. 发布流程

git flow release start/finish。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在发布流程中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 发布流程相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用发布流程相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

4. 热修复

git flow hotfix start/finish。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在热修复中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 热修复相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用热修复相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

5. 适用场景

有明确版本发布的软件。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在适用场景中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 适用场景相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用适用场景相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

✅ 实机验证

$ git version
git version 2.43.0
$ git log --oneline -3
a163589 v3: introduced bug
2a5802e v2: good
c02b492 v1: good
✅ 验证通过:Git命令执行正常

🤔 常见问题

Q1: 分支结构的最佳实践是什么?

理解底层原理,不要只停留在命令层面。动手实践是掌握Git的最佳方式。

Q2: 操作失误如何恢复?

使用git reflog找到之前的提交,然后用git reset --hard恢复。几乎所有Git操作都可以撤销。

Q3: 团队协作中需要注意什么?

保持频繁沟通,避免长期不合并的分支。所有合并通过Pull Request进行代码审查。

📝 练习

  1. 创建测试仓库,实践分支结构相关操作
  2. 尝试功能开发的完整流程
  3. 模拟错误场景,练习恢复操作
  4. 与同学协作,练习发布流程
  5. 记录遇到的问题和解决方案

🏆 成就解锁

📚 本课小结

关键要点

在本课中,我们系统学习了核心概念和实操技能。关键要点:

延伸阅读

命令速查表

命令功能常用选项
git init初始化仓库
git clone克隆远程仓库--depth,--branch
git add暂存更改-p,-A
git commit提交-m,--amend,-a
git status查看状态-s
git log查看历史--oneline,--graph
git diff查看差异--staged,--stat
git branch分支管理-d,-a,-v
git merge合并分支--no-ff,--abort
git rebase变基-i,--continue,--abort
git stash暂存工作pop,list,-u
git tag标签管理-a,-d,-l
git push推送到远程-u,--force-with-lease
git pull拉取并合并--rebase
git fetch拉取不合并
git remote远程仓库管理-v,add
git reset重置--soft,--mixed,--hard
git reflog引用日志
git cherry-pick挑选提交-x,-n
git bisect二分查找start,run
git blame行级追溯-L
git worktree工作树管理add,list,remove
git lfs大文件管理track,install

🎬 实战案例

假设你正在开发一个Web应用,需要处理以下场景:创建功能分支、提交更改、合并到主分支。以下是完整的命令流程:

$ git checkout -b feature/new-api
$ echo "API endpoint" > api.py
$ git add api.py
$ git commit -m "feat: add new API endpoint"
$ git checkout main
$ git merge --no-ff feature/new-api
$ git branch -d feature/new-api
$ git push origin main

这个流程展示了从创建分支到合并删除的完整过程。注意--no-ff确保保留分支信息,-d删除已合并分支。

⚠️ 常见陷阱