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

切换分支
在 Git 术语中,切换到不同的分支称为“检出 (Checking out)”分支。当您检出分支时,Git 会更新您的工作目录以匹配该分支的状态。
要切换到不同的分支:
-
选择状态栏中的分支名称,或从命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行 Git: 检出到 (Git: Checkout to) 命令。
-
从可用分支列表中选择:
- 本地分支:存在于您本地计算机上的分支
- 远程分支:您可以从远程存储库检出到本地的分支
- 最近的分支:最近使用的分支
如果您在切换分支时有未提交的更改,Git 可能会阻止切换以避免丢失工作。请考虑在切换前提交更改或使用储藏 (Stash)。
创建新分支
创建一个新分支以开始处理某项功能或实验。
-
选择状态栏中的分支名称,或从命令面板运行 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 问题创建分支,这能让您在新的本地分支中开始工作,并自动为您预填拉取请求。
重命名和删除分支
重命名当前分支:
- 从命令面板运行 Git: 重命名分支 (Git: Rename Branch),或从 更多操作 (...) 菜单中选择它。
- 输入新的分支名称。
删除分支:
- 切换到另一个分支(您不能删除当前活动的分支)。
- 从命令面板运行 Git: 删除分支 (Git: Delete Branch),或从 更多操作 (...) 菜单中选择它。
- 从列表中选择要删除的分支。
您也可以通过使用相应的 删除远程分支 (Delete Remote Branch) 操作来删除远程分支。
删除分支会将其从本地存储库中永久移除。请确保该分支已合并或您不再需要这些更改。
合并和发布分支
当您的功能完成后,将其合并回主分支:
- 切换到目标分支(通常是
main或develop)。 - 从命令面板运行 Git: 合并分支 (Git: Merge Branch)。
- 选择要合并的分支。
要将分支发布到远程存储库,请使用 发布分支 (Publish Branch) 操作。
VS Code 会在“源代码管理”视图中显示合并结果。如果存在冲突,VS Code 会突出显示它们并提供解决工具。了解更多关于解决合并冲突的信息。
使用 Git 工作树 (Worktrees)
VS Code 内置支持 Git 工作树 (Worktrees),使您可以轻松地同时管理和使用多个分支。
理解工作树
工作树是 Git 分支在独立目录中的单独检出。这允许您为同一个存储库拥有多个工作目录,每个目录位于不同的分支上。工作树功能特别适用于:
- 在单独的文件夹中同时处理多个功能
- 并排运行应用程序的不同版本
- 比较跨分支的实现
创建工作树
在 VS Code 中创建新工作树:
-
从“源代码管理”视图中打开 源代码管理存储库 (Source Control Repositories) 视图。

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

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

-
检查完毕后,使用命令面板中的 迁移工作树更改 (Migrate Worktree Changes) 命令,将工作树中的所有更改合并到当前工作区。