现已发布!阅读关于 11 月新增功能和修复的内容。

VS Code 中的 Git 分支和工作树

Git 分支使您能够同时处理不同的功能或实验,而不会影响您的主代码库。VS Code 提供了分支管理工具、用于并行开发的 Git 工作树以及用于临时更改的暂存管理。

本文介绍如何在 VS Code 中使用分支、工作树和暂存来管理并行开发工作。

使用分支

分支是指向 Git 历史记录中特定提交的轻量级、可移动的指针。它们允许您从主开发线分离出来,并独立地进行功能开发。

例如,假设您正在开发一个 Web 应用程序,需要添加用户身份验证,同时还要修复支付系统中的一个 bug。您可以创建两个分支:

  • feature/user-authentication - 包含您的登录和注册功能
  • bugfix/payment-validation - 包含支付处理错误的修复

每个分支都维护自己的一组更改,而不会影响另一个分支。您可以在分支之间切换以处理不同的任务,稍后可以将已完成的分支合并回您的主分支。

查看当前分支

当前分支出现在 VS Code 的多个位置:

  • 状态栏:显示当前分支名称并允许快速切换分支。
  • 存储库视图:在存储库标题中显示当前分支。
  • 源代码管理图:可视化地表示分支关系和历史记录。

Screenshot showing the current branch displayed in the Status Bar and Source Control view.

切换分支

在 Git 术语中,切换到不同分支称为“签出”(checkout) 分支。签出分支时,Git 会更新您的工作目录以匹配该分支的状态。

切换到不同分支

  1. 在状态栏中选择分支名称,或通过命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 运行 Git: Checkout to 命令。

  2. 从可用分支列表中选择

    • 本地分支:存在于您本地机器上的分支。
    • 远程分支:来自远程存储库的分支,您可以在本地签出。
    • 最近使用的分支:最近使用的分支。
提示

如果您在切换分支时有未提交的更改,Git 可能会阻止切换以避免丢失工作。请考虑在切换之前提交您的更改或使用 暂存

创建新分支

创建一个新分支以开始处理功能或实验。

  1. 在状态栏中选择分支名称,或在命令面板中运行 Git: Create Branch

  2. 为您的新分支输入名称。使用描述性名称,如 feature/user-authenticationbugfix/login-error

    提示

    VS Code 可以为您生成随机分支名称。使用 git.branchRandomName.enablegit.branchRandomName.dictionary 设置进行配置。

  3. 选择要从中创建新分支的源分支(通常是 maindevelop)。

Screenshot showing the create branch dialog with branch name input and source branch selection.

VS Code 在创建后会自动切换到新分支。

提示

如果您使用 GitHub Pull Requests and Issues 扩展,您可以直接从 GitHub issues 创建分支,从而开始在一个新的本地分支中工作,并自动为您预填充拉取请求。

重命名和删除分支

重命名当前分支

  1. 在命令面板中运行 Git: Rename Branch,或从“更多操作” (...) 菜单中选择它。
  2. 输入新的分支名称。

删除分支

  1. 切换到另一个分支(您无法删除当前活动的分支)。
  2. 在命令面板中运行 Git: Delete Branch,或从“更多操作” (...) 菜单中选择它。
  3. 从列表中选择要删除的分支。

您还可以使用匹配的 **Delete Remote Branch** 操作来删除远程分支。

注意

删除分支将永久性地从您的本地存储库中移除。请确保该分支已被合并,或者您不再需要这些更改。

合并和发布分支

当您的功能完成后,将其合并回主分支。

  1. 切换到目标分支(通常是 maindevelop)。
  2. 在命令面板中运行 Git: Merge Branch
  3. 选择要合并的分支。

要将分支发布到您的远程存储库,请使用 **Publish Branch** 操作。

VS Code 在源代码管理视图中显示合并结果。如果存在冲突,VS Code 会突出显示它们并提供解决工具。了解有关 解决合并冲突 的更多信息。

使用 Git 工作树

VS Code 内置支持 Git 工作树,让您可以轻松地同时管理和处理多个分支。

了解工作树

工作树是 Git 分支在自己的目录中的独立签出。这允许您为同一存储库拥有多个工作目录,每个工作目录都在不同的分支上。工作树功能特别适用于:

  • 在单独的文件夹中同时处理多个功能。
  • 并行运行应用程序的不同版本。
  • 比较不同分支之间的实现。

创建工作树

在 VS Code 中创建新的工作树:

  1. 从源代码管理视图打开 **Source Control Repositories** 视图。

    Screenshot showing the Source Control Repositories view with multiple repositories listed.

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

    Screenshot showing the worktree context menu in the Source Control Repositories view.

  3. 按照提示选择新工作树的分支和位置。

    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** 命令,然后选择所需的工作树。

比较和迁移工作树的更改

当您在工作树中进行更改时,您可以将这些更改与您的主工作区进行比较,并将工作树的更改带回您的主存储库。

  1. 在“源代码管理”视图中,右键单击工作树中的已更改文件,然后选择 **Compare with Workspace** 以并排查看差异。

    Screenshot showing the compare with workspace option in the worktree context menu and side-by-side diff view.

  2. 审查后,使用命令面板中的 **Migrate Worktree Changes** 命令将工作树中的所有更改合并到您当前的工作区。

后续步骤

© . This site is unofficial and not affiliated with Microsoft.