mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10mobile wallpaper 11mobile wallpaper 12mobile wallpaper 13mobile wallpaper 14mobile wallpaper 15mobile wallpaper 16mobile wallpaper 17mobile wallpaper 18mobile wallpaper 19mobile wallpaper 20mobile wallpaper 21mobile wallpaper 22mobile wallpaper 23
1402 字
4 分钟
笔记|Git学习笔记03|创建与切换分支
2026-06-22

本系列所有文章都放在Git标签,总目录如下:

合集|Git学习笔记|系列总目录


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 init
git add README.md
git commit -m "first commit"

初始状态下,HEAD指向mastermaster指向Commit 1

此时提交历史:Commit 1master, 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 1Commit 2Commit 3master, HEAD

3.2.3 创建新分支#

基于当前HEAD指向的位置(即masterCommit 3),创建一个名为1.0-dev的新分支。

git branch 1.0-dev

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

3.2.4 切换到新分支#

git checkout 1.0-dev

HEADmaster移动到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-dev
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 查看分支列表#

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 branchgit 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 中通过图形界面管理分支

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

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

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

部分信息可能已经过时

目录