项目已经有了稳定起点。现在要给任务板增加“优先级”规则,同时在主线上补充使用说明。两项工作互不依赖,正适合用分支并行完成。

Git 分支是一个会移动的名字,它指向某次提交。创建分支时,Git 不会复制整个目录;它只创建一个新引用。新提交出现后,当前分支的名字会向前移动。
HEAD 表示你当前检出的分支。先确认位置:
git branch --show-current结果:
main创建并切换到功能分支:
git switch -c feature/priority-c 表示创建新分支。再次执行 git branch --show-current,结果应变为 feature/priority。
旧教程常用 git checkout 同时承担切换分支和恢复文件两种职责。本课程使用意图更清楚的 git switch 切换分支,用 git restore 恢复文件。
给 tasks.md 增加优先级说明:
printf '\n## 优先级\n\n- P0:立即处理\n- P1:本周处理\n' >> tasks.md
git diff -- tasks.md
git add tasks.md
git commit -m "feat: add task priorities"此时新提交只属于 feature/priority。切回主分支:
git switch main你会发现 tasks.md 中的优先级段落暂时不见了。文件没有丢失,它仍然保存在功能分支的提交中;Git 只是让工作区匹配 main 的快照。
在主分支补充使用说明:
printf '\n## 使用方式\n\n在 tasks.md 中勾选任务。\n' >> README.md
git add README.md
git commit -m "docs: add usage guide"现在两条分支从同一个起点各自向前走了一步:
git log --oneline --graph --all --decorate结果示例:
* ae5f2ea (feature/priority) feat: add task priorities
| * 811b95f (HEAD -> main) docs: add usage guide
|/
* 6457dcd chore: initialize team task board左侧线条表示提交之间的父子关系。两条提交修改不同文件,所以后面的合并可以自动完成。
合并命令总是把“指定分支”合进“当前分支”。先确认当前是 main,再执行:
git branch --show-current
git merge --no-ff feature/priority -m "merge: add task priorities"结果:
Merge made by the 'ort' strategy.
tasks.md | 5 +++++
1 file changed, 5 insertions(+)--no-ff 要求保留一个合并提交,即使某些情况下可以只移动分支指针。这里两条分支已经分叉,本来也需要三方合并;显式写出参数能让课程中的功能边界保持清楚。
再次观察提交图:
git log --oneline --graph --all --decorate -5结果示例:
* 05dc2c4 (HEAD -> main) merge: add task priorities
|\
| * ae5f2ea (feature/priority) feat: add task priorities
* | 811b95f docs: add usage guide
|/
* 6457dcd chore: initialize team task board合并提交有两个父提交:一边来自主线,一边来自功能分支。最终快照同时包含 README 使用说明和任务优先级。
功能已经进入 main,可以删除分支名字:
git branch -d feature/priority结果示例:
Deleted branch feature/priority (was ae5f2ea).删除分支不会删除已合并的提交。那些提交仍然可以从 main 到达。-d 会在分支尚未合并时拒绝删除,适合作为日常默认选项。
git branch -D 会强制删除尚未合并的分支。除非你已经确认分支内容可以丢弃,或提交能从其他引用找回,否则不要用大写 -D 代替 -d。
之后每项独立工作都可以沿用这个顺序:
从稳定分支创建短期功能分支,例如 git switch -c feature/priority。
在分支上完成一件可说明的工作,用 status 和 diff 检查后提交。
切回接收修改的分支,确认位置后执行 git merge 功能分支。
检查提交图和项目文件;确认合并完成后,用 git branch -d 删除短期分支。
不要让一个功能分支同时承担无关任务。分支越聚焦,提交越容易审查,合并时的意图也越清楚。