VS Code 中的 Git 分支和工作树
Git 分支让你可以同时开发不同的功能或实验,而不会影响你的主代码库。VS Code 提供分支管理工具,并行开发的 Git 工作树,以及用于临时变更的存储管理。
本文介绍了在 VS Code 中处理分支、工作树和存储,以管理并行开发工作。
与分支合作
分支是轻量级、可移动的指向你 Git 历史中特定提交的指针。它们让你可以脱离主线开发,独立开发功能。
举个例子,假设你正在开发一个网页应用,需要添加用户认证,同时修复支付系统的一个漏洞。你可以创建两个分支:
功能/用户认证- 包含您的登录和注册功能修复/支付验证- 包含支付处理错误的修复
每个分支都保持自己的一组变更,而不影响对方。你可以在不同分支之间切换来处理不同的任务,之后再把完成的分支合并回主分支。
查看当前分支
目前的分支在VS Code的多个地方出现:
- 状态栏:显示当前分支名称并支持快速分支切换
- 仓库视图:在仓库头部显示当前分支
- 源代码控制图:可视化地表示分支关系和历史

分支切换
切换到不同分支在Git术语中称为“检查”分支。当你检查一个分支时,Git 会更新你的工作目录,使其与该分支的状态相匹配。
要转到其他分支:
-
在状态栏中选择分支名称,或在命令面板中运行 Git: Checkout 命令(⇧⌘P(Windows,Linux Ctrl+Shift+P))。
-
从可用分支机构列表中选择:
- 本地分支:存在于你本地机器上的分支
- 远程分支:你可以在本地访问远程仓库的分支
- 近期分支:近期使用的分支
如果你在切换分支时有未提交的更改,Git 可能会阻止切换以避免丢失工作。考虑先提交你的更改或使用储藏箱再切换。
创建新分支
创建一个新分支,开始开发某个功能或实验:
-
在状态栏中选择分支名称,或在命令面板中运行 Git: 创建分支。
-
输入新分支名称。使用描述性名称,如
功能/用户认证或修复错误/登录错误.提示VS Code 可以帮你生成随机分支名。用
git.branchRandomName.enable以及git.branchRandomName.dictionary设定。 -
选择源分支(通常如此)
主要角色或开发由此创建新的分支。

VS Code 创建后切换到新分支。
如果你使用 GitHub 的 Pull Requests and Issues 扩展,可以直接从 GitHub issues 创建分支,这样你就能在新的本地分支中开始工作,并自动预填充拉取请求。
重命名和删除分支
将现有分会更名为:
- 运行 Git:从命令面板中重命名分支,或从“更多作”(...)菜单中选择。
- 于是进入了新的分支名称。
删除分支:
- 切换到另一个分支(你不能删除当前活跃的分支)。
- 从命令面板中运行 Git: 删除分支,或从“更多作”(...)菜单中选择。
- 从列表中选择要删除的分支。
你也可以通过匹配的“删除远程分支”作删除远程分支。
删除分支会永久从你的本地仓库中移除。确保分支已经合并,否则你就不需要这些更改了。
合并并发布分支
功能完成后,将其合并回主分支:
- 切换到目标分支(通常是
主要角色或开发). - 从命令面板中运行 Git: 合并分支。
- 选择合并的分支。
要向远程仓库发布分支,请使用“发布分支”作。
VS Code 在源代码视图中显示合并结果。如果存在冲突,VS Code 会突出显示冲突并提供解决工具。了解更多关于解决合并冲突的信息。
使用 Git 工作树
VS Code 内置支持 Git 工作树,方便同时管理和处理多个分支。
理解工作树
工作树是对 Git 分支的独立检查,位于其独立目录中。这允许你为同一仓库拥有多个工作目录,每个目录在不同的分支上。工作树功能特别适用于:
- 同时在不同文件夹中开发多个功能
- 并排运行不同版本的应用
- 比较各分支的实现
创建工作树
要在 VS Code 中创建新的工作树:
-
从源控制视图打开源控仓库视图。

-
选择您的存储库,打开“更多作(...)”菜单,然后选择工作树>创建工作树。

-
按照提示选择新工作树的分支和位置。
VS Code 会在指定位置为工作树创建一个新文件夹,并把选中的分支打出到该文件夹里。
新工作树作为独立条目出现在源控制器仓库视图中。
工作树切换
VS Code 可以同时显示多个仓库(包括工作树):
- 每个工作树在源代码控制仓库视图中都作为独立仓库出现
- 你可以打开多个VS Code窗口,每个窗口指向不同的工作树
- 使用文件 > 打开最近文件,快速切换工作树目录
打开工作树
打开工作树有多种方式:
-
直接在VS Code中打开与工作树关联的文件夹。VS Code 会自动检测它是现有仓库的工作树。
-
在源控仓库视图中右键点击工作树,选择“在新窗口打开工作树”或“当前窗口”打开工作树。
-
在命令调色板中运行 Git: 在当前窗口打开工作树或 Git: 在新窗口打开工作树命令,然后选择所需的工作树。
比较并迁移工作树中的变更
当你在工作树中做更改时,可以将这些更改与主工作区进行比较,并将工作树的更改带回主仓库。
-
在源控制器视图中,右键点击工作树中的修改文件,选择“与工作区比较”,以并排查看差异。

-
审核后,使用命令调色板中的“迁移工作树变更”命令,将工作树上的所有更改合并到当前工作区。
下一步
- 暂时与提交——学习如何在分支内部提交变更
- 合并冲突——在合并分支时处理冲突
- 仓库与远程——与远程分支合作及协作
- 在GitHub上协作——在你的分支工作流程中使用GitHub的拉取请求