VS Code 中的 Git 分支和工作树
Git 分支使您能够同时处理不同的功能或实验,而不会影响您的主代码库。VS Code 提供了分支管理工具、用于并行开发的 Git 工作树以及用于临时更改的暂存管理。
本文介绍如何在 VS Code 中使用分支、工作树和暂存来管理并行开发工作。
使用分支
分支是指向 Git 历史记录中特定提交的轻量级、可移动的指针。它们允许您从主开发线分离出来,并独立地进行功能开发。
例如,假设您正在开发一个 Web 应用程序,需要添加用户身份验证,同时还要修复支付系统中的一个 bug。您可以创建两个分支:
feature/user-authentication- 包含您的登录和注册功能bugfix/payment-validation- 包含支付处理错误的修复
每个分支都维护自己的一组更改,而不会影响另一个分支。您可以在分支之间切换以处理不同的任务,稍后可以将已完成的分支合并回您的主分支。
查看当前分支
当前分支出现在 VS Code 的多个位置:
- 状态栏:显示当前分支名称并允许快速切换分支。
- 存储库视图:在存储库标题中显示当前分支。
- 源代码管理图:可视化地表示分支关系和历史记录。

切换分支
在 Git 术语中,切换到不同分支称为“签出”(checkout) 分支。签出分支时,Git 会更新您的工作目录以匹配该分支的状态。
切换到不同分支
-
在状态栏中选择分支名称,或通过命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 运行 Git: Checkout to 命令。
-
从可用分支列表中选择
- 本地分支:存在于您本地机器上的分支。
- 远程分支:来自远程存储库的分支,您可以在本地签出。
- 最近使用的分支:最近使用的分支。
如果您在切换分支时有未提交的更改,Git 可能会阻止切换以避免丢失工作。请考虑在切换之前提交您的更改或使用 暂存。
创建新分支
创建一个新分支以开始处理功能或实验。
-
在状态栏中选择分支名称,或在命令面板中运行 Git: Create Branch。
-
为您的新分支输入名称。使用描述性名称,如
feature/user-authentication或bugfix/login-error。提示VS Code 可以为您生成随机分支名称。使用 git.branchRandomName.enable 和 git.branchRandomName.dictionary 设置进行配置。
-
选择要从中创建新分支的源分支(通常是
main或develop)。

VS Code 在创建后会自动切换到新分支。
如果您使用 GitHub Pull Requests and Issues 扩展,您可以直接从 GitHub issues 创建分支,从而开始在一个新的本地分支中工作,并自动为您预填充拉取请求。
重命名和删除分支
重命名当前分支
- 在命令面板中运行 Git: Rename Branch,或从“更多操作” (...) 菜单中选择它。
- 输入新的分支名称。
删除分支
- 切换到另一个分支(您无法删除当前活动的分支)。
- 在命令面板中运行 Git: Delete Branch,或从“更多操作” (...) 菜单中选择它。
- 从列表中选择要删除的分支。
您还可以使用匹配的 **Delete Remote Branch** 操作来删除远程分支。
删除分支将永久性地从您的本地存储库中移除。请确保该分支已被合并,或者您不再需要这些更改。
合并和发布分支
当您的功能完成后,将其合并回主分支。
- 切换到目标分支(通常是
main或develop)。 - 在命令面板中运行 Git: Merge Branch。
- 选择要合并的分支。
要将分支发布到您的远程存储库,请使用 **Publish Branch** 操作。
VS Code 在源代码管理视图中显示合并结果。如果存在冲突,VS Code 会突出显示它们并提供解决工具。了解有关 解决合并冲突 的更多信息。
使用 Git 工作树
VS Code 内置支持 Git 工作树,让您可以轻松地同时管理和处理多个分支。
了解工作树
工作树是 Git 分支在自己的目录中的独立签出。这允许您为同一存储库拥有多个工作目录,每个工作目录都在不同的分支上。工作树功能特别适用于:
- 在单独的文件夹中同时处理多个功能。
- 并行运行应用程序的不同版本。
- 比较不同分支之间的实现。
创建工作树
在 VS Code 中创建新的工作树:
-
从源代码管理视图打开 **Source Control Repositories** 视图。

-
右键单击您的存储库,然后选择 **Worktree** > **Create Worktree**。

-
按照提示选择新工作树的分支和位置。
VS Code 会在指定位置创建一个新的工作树文件夹,并将选定的分支签出到该文件夹中。
新的工作树将显示为 **Source Control Repositories** 视图中的一个单独条目。
切换工作树
VS Code 可以同时显示多个存储库(包括工作树)。
- 每个工作树在 **Source Control Repositories** 视图中都显示为一个单独的存储库。
- 您可以打开多个 VS Code 窗口,每个窗口指向一个不同的工作树。
- 使用 **File** > **Open Recent** 快速切换工作树目录。
打开工作树
有多种方法可以打开工作树:
-
直接在 VS Code 中打开与工作树关联的文件夹。VS Code 会自动检测到它是现有存储库的工作树。
-
在“源代码管理存储库”视图中右键单击工作树,然后选择 **Open Worktree in New Window** 或 **Open Worktree in Current Window**。
-
在命令面板中运行 **Git: Open Worktree in Current Window** 或 **Git: Open Worktree in New Window** 命令,然后选择所需的工作树。
比较和迁移工作树的更改
当您在工作树中进行更改时,您可以将这些更改与您的主工作区进行比较,并将工作树的更改带回您的主存储库。
-
在“源代码管理”视图中,右键单击工作树中的已更改文件,然后选择 **Compare with Workspace** 以并排查看差异。

-
审查后,使用命令面板中的 **Migrate Worktree Changes** 命令将工作树中的所有更改合并到您当前的工作区。
后续步骤
- 暂存和提交 - 了解如何在分支内提交更改。
- 合并冲突 - 处理合并分支时的冲突
- 存储库和远程 - 使用远程分支和协作。
- 在 GitHub 上协作 - 在分支工作流中使用 GitHub 拉取请求。