
3.0 本节命令行汇总
git init # 创建本地 Git 仓库git add <file> # 暂存指定文件git add . # 暂存所有变更文件git commit -m "message" # 提交变更git branch # 查看本地分支列表git branch -v # 查看本地分支列表(详细)git branch <branch-name> # 创建新分支git checkout <branch-name> # 切换到目标分支git checkout -b <branch-name> # 创建新分支并立即切换3.1 Git 分支的逻辑
注:本示意图来自B站
@寰宇牛奶unimilk的视频。![]()
在开始动手操作之前,先理解 Git 分支的底层逻辑,有助于在合并、冲突处理等场景中保持清晰的思路。
1. 分支的本质是指针。
在 Git 中,分支不过是一个指向某个提交对象的指针。当执行git commit创建一个新的提交时,当前所在分支的指针会自动向前移动到新的提交上。
2. HEAD 是你的位置。
HEAD是一个特殊的指针,指向你当前所在的分支。执行git checkout切换分支时,实际上是在移动HEAD指针,告诉 Git 你当前在哪个分支上工作。
3. 提交历史是一张有向无环图。
Git 的提交记录不是简单的线性列表,而是一张有向无环图。每个提交都持有指向其父提交的指针,当从某个节点分叉出新的分支并提交后,历史就形成了分叉的图结构。
3.2 举例:简单分支开发流程
下面通过一个完整的例子,演示从创建仓库到多分支开发的完整流程。
场景:项目主分支
master已开发到Commit 3,现在需要开发 1.0 版本,因此从当前节点创建1.0-dev分支。
3.2.1 创建仓库并完成首次提交
先手动创建一个 README.md 文件并创建仓库。

git initgit add README.mdgit commit -m "first commit"初始状态下,HEAD指向master,master指向Commit 1。
此时提交历史:Commit 1(master, HEAD)
3.2.2 在 master 上多次提交
经过多次开发,master分支上共有三个提交,master指向最新的Commit 3。

# 两次开发提交git add .git commit -m "edit(readme): Commit 2"
git add .git commit -m "edit(readme): Commit 3"提交历史:Commit 1 ← Commit 2 ← Commit 3(master, HEAD)
3.2.3 创建新分支
基于当前HEAD指向的位置(即master的Commit 3),创建一个名为1.0-dev的新分支。
git branch 1.0-dev执行后,两个分支都指向同一个提交Commit 3。
3.2.4 切换到新分支
git checkout 1.0-devHEAD从master移动到1.0-dev,工作区切换到了开发分支上。

注:③、④两步可合并为
git checkout -b 1.0-dev,创建并切换一步到位。
3.2.5 在新分支上提交
在1.0-dev分支上完成功能开发后提交:
git add .git commit -m "edit(readme): Commit 4"此时1.0-dev向前移动到新的Commit 4,而master仍停留在Commit 3,历史出现分叉。

3.2.6 切换回 master
git checkout master切回master后,工作区文件恢复到Commit 3的状态,之前在新分支上做的修改暂时”隐藏”起来——这正是 Git 分支的隔离特性。

3.2.7 在 master 上继续开发
git add .git commit -m "edit(readme): Commit 5"master分支继续向前推进到Commit 5,与1.0-dev分支的差距进一步拉大。

3.2.8 切换到 1.0-dev 开发
切回开发分支,继续增加新功能:
git checkout 1.0-devgit add .git commit -m "edit(readme): Commit 6"1.0-dev分支推进到Commit 6。

此时提交历史结构如下:
C1 ← C2 ← C3 ← C5 (master) ↖ C4 ← C6 (1.0-dev, HEAD)1.0-dev分支的README.md内容:
# README
Commit 2
Commit 3
Commit 4
Commit 6master分支的README.md内容:
# README
Commit 2
Commit 3
Commit 53.3 命令行操作总结
3.3.1 查看分支列表
git branch列出所有本地分支,当前所在分支前会标记*号。
git branch -v加上-v参数可同时查看每个分支的最新提交信息。
3.3.2 创建分支
git branch <branch-name>基于当前HEAD所在位置创建一个新分支。
3.3.3 切换分支
git checkout <branch-name>将HEAD切换到目标分支。
3.3.4 创建并切换
git checkout -b <branch-name>创建新分支后立即切换过去,是git branch加git checkout两步的合并写法。
3.4 在 VS Code 中进行分支操作
VS Code 的源代码管理面板提供了直观的分支管理界面,无需记忆命令即可完成常见分支操作。
3.4.1 查看当前分支
在 VS Code 底部状态栏的左侧,可以看到当前所在的分支名称。点击分支名即可快速切换或创建分支。
3.4.2 创建新分支
- 点击底部状态栏左侧的分支名。
- 在弹出的命令面板中选择
创建新分支...。 - 输入新分支的名称,按回车确认。
3.4.3 切换分支
- 点击底部状态栏左侧的分支名。
- 在弹出的分支列表中,选择要切换到的目标分支。
- 工作区文件会自动更新为目标分支的内容。
3.4.4 在分支上提交
在源代码管理面板中,暂存文件 → 填写提交信息 → 点击提交按钮。当前处于哪个分支,提交就会自动推进到哪个分支,无需额外操作。
3.4.5 使用 Git Graph 查看分支图
安装Git Graph插件后,点击源代码管理面板底部的Git Graph按钮,即可看到直观的分支图谱,清晰地展示所有分支的提交历史与分叉关系。
3.5 本节小结
| 知识点 | 说明 |
|---|---|
| 分支本质 | 指向提交的指针 |
| HEAD | 指向当前所在分支的指针 |
| 创建分支 | git branch <name> 或 git checkout -b <name> |
| 切换分支 | git checkout <name> |
| 分支隔离 | 不同分支的文件状态互不干扰 |
| VS Code 操作 | 状态栏 → 分支名 → 创建 / 切换 |
在本节中,掌握了以下内容:
- 理解了 Git 分支的本质是指针,
HEAD代表当前位置 - 通过完整的分支开发例子,理清了创建、切换、提交的完整流程
- 掌握了命令行的分支操作命令
- 学会了在 VS Code 中通过图形界面管理分支
下一节我们将学习合并分支。
Git学习笔记
连载中分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 104 天
部分内容可能已过时
评论