1615 字
8 分钟
页面浏览--访问次数--
Git|创建与切换分支

3.0 本节命令行汇总#

Terminal window
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 文件并创建仓库。

第一步示意图
Terminal window
git init
git add README.md
git commit -m "first commit"

初始状态下,HEAD指向master,master指向Commit 1。

此时提交历史:Commit 1(master, HEAD)

3.2.2 在 master 上多次提交#

经过多次开发,master分支上共有三个提交,master指向最新的Commit 3。

第二步示意图
Terminal window
# 两次开发提交
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的新分支。

Terminal window
git branch 1.0-dev

执行后,两个分支都指向同一个提交Commit 3。

3.2.4 切换到新分支#

Terminal window
git checkout 1.0-dev

HEAD从master移动到1.0-dev,工作区切换到了开发分支上。

第四步示意图

注:③、④两步可合并为git checkout -b 1.0-dev,创建并切换一步到位。

3.2.5 在新分支上提交#

在1.0-dev分支上完成功能开发后提交:

Terminal window
git add .
git commit -m "edit(readme): Commit 4"

此时1.0-dev向前移动到新的Commit 4,而master仍停留在Commit 3,历史出现分叉。

第五步示意图

3.2.6 切换回 master#

Terminal window
git checkout master

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

第六步示意图

3.2.7 在 master 上继续开发#

Terminal window
git add .
git commit -m "edit(readme): Commit 5"

master分支继续向前推进到Commit 5,与1.0-dev分支的差距进一步拉大。

第七步示意图

3.2.8 切换到 1.0-dev 开发#

切回开发分支,继续增加新功能:

Terminal window
git checkout 1.0-dev
Terminal window
git 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 6

master分支的README.md内容:

# README
Commit 2
Commit 3
Commit 5

3.3 命令行操作总结#

3.3.1 查看分支列表#

Terminal window
git branch

列出所有本地分支,当前所在分支前会标记*号。

Terminal window
git branch -v

加上-v参数可同时查看每个分支的最新提交信息。

3.3.2 创建分支#

Terminal window
git branch <branch-name>

基于当前HEAD所在位置创建一个新分支。

3.3.3 切换分支#

Terminal window
git checkout <branch-name>

将HEAD切换到目标分支。

3.3.4 创建并切换#

Terminal window
git checkout -b <branch-name>

创建新分支后立即切换过去,是git branch加git checkout两步的合并写法。


3.4 在 VS Code 中进行分支操作#

VS Code 的源代码管理面板提供了直观的分支管理界面,无需记忆命令即可完成常见分支操作。

3.4.1 查看当前分支#

在 VS Code 底部状态栏的左侧,可以看到当前所在的分支名称。点击分支名即可快速切换或创建分支。

3.4.2 创建新分支#

  1. 点击底部状态栏左侧的分支名。
  2. 在弹出的命令面板中选择创建新分支...。
  3. 输入新分支的名称,按回车确认。

3.4.3 切换分支#

  1. 点击底部状态栏左侧的分支名。
  2. 在弹出的分支列表中,选择要切换到的目标分支。
  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 中通过图形界面管理分支

下一节我们将学习合并分支。

第 3 篇,共 4 篇本文属于系列

Git|创建与切换分支
https://luq-blog.xyz/posts/2026-06-22-git-notes-03-branch/
作者
Luquiescene
发布于
2026-06-22
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...

最后更新于 ,距今已过 104 天

部分内容可能已过时