第 4 章 · 分支:创建与切换
本章目标:理解 main 与 feature 分支 分工;在小紫工作台用 创建分支 / 切换分支 隔离开发;养成 SRX 前先开分支 的习惯;会用终端 git branch 对照界面。
学时建议:3.5~4 小时(含 2 小时跟练)
前置:git-collab ch03(至少完成过一次提交);srx-v7 ch09(Git 干净再动手)建议已读。
4.1 场景说明:两人同时改 main,谁都不敢 push
你和同事都在 main 上改 shop-demo:
- 你 SRX 做「商品分页」,改了一半
- 同事修「登录 bug」,已提交
- 你一 push,要么被拒绝,要么把半成品推上去
分支 = 从 main 分出去的一条独立开发线。你在 feature/product-list 上随便 commit,main 保持可发布,互不影响。
main ─────●────────────●──────── (稳定、可部署)
\
●──●── feature/product-list (你的 SRX 改动)
4.2 学完你能
| 能力 | 验收 |
|---|---|
| 说清 main vs feature | 同学能听懂 |
| 菜单建/切分支 | 不查文档完成一次 |
| 隔离验证 | main 上看不见 feature 上的提交 |
| SRX 习惯 | 大任务前先建分支 |
| 终端对照 | git branch 与当前分支一致 |
| 避坑 | 不在「一堆未提交 M」时硬切分支 |
4.3 核心概念(三个名词)
| 名词 | 是什么 |
|---|---|
| main | 默认主线,团队约定「能跑的代码」 |
| feature/xxx | 功能分支,开发完成再合并(ch05) |
| HEAD | 当前所在分支;切换分支 = 移动 HEAD |
命名建议(全库统一):
| 前缀 | 用途 | 例子 |
|---|---|---|
feature/ | 新功能 | feature/product-filter |
fix/ | bug 修复 | fix/cart-quantity |
hotfix/ | 线上紧急 | hotfix/payment-500 |
4.4 开工前:工作区必须干净(srx-v7 绝学 1)
终端(推荐养成习惯):
cd ~/dev-workspace/shop-demo
git status
你应该看到:nothing to commit, working tree clean
若有 M / U:
- 先 暂存 → 提交(ch03),或
- 临时 stash(ch06 终端选修)
为什么:脏工作区切分支,Git 可能拒绝,或把未提交改动带到错误分支。
4.5 跟练:菜单创建第一个 feature 分支
步骤 1 — 确认在 main 且干净
仓库 → GitHub 远程仓库 → 仓库状态(或终端 git branch)
当前分支应 main(或 master,以仓库为准)。
步骤 2 — 创建分支
仓库 → GitHub 远程仓库 → 分支 → 创建分支
输入名:feature/ch04-practice
确认。
步骤 3 — 验证当前分支
终端:
git branch
你应该看到:
* feature/ch04-practice
main
星号 * 表示当前分支。
步骤 4 — 在 feature 上做一次提交
- 改
README.md加一行:ch04 branch practice - Ctrl+S
- 暂存更改 → 提交更改,说明:
docs: ch04 分支练习
步骤 5 — 切回 main