本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

Git 分支和工作树在 VS Code 中

Git分支使您能够在不干扰主代码库的情况下同时进行不同功能或实验的开发。VS Code 提供了用于分支管理、并行开发的Git工作树和暂存管理的工具,用于临时更改。

本文介绍了在 VS Code 中使用分支、工作树和暂存区来管理并行开发工作的方法。

与分支合作

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

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

  • 功能/用户认证- 包含您的登录和注册功能
  • 错误修复/支付验证- 包含了支付处理错误的修复

每个分支都维护自己的更改,互不干扰。您可以切换分支来处理不同的任务,稍后将完成的分支合并回主分支。

查看当前分支

当前分支在 VS Code 的多个位置显示:

  • 状态栏:显示当前分支名称并允许快速分支切换
  • 代码库视图:在代码库标题中显示当前分支
  • 源代码控制图:以视觉方式表示分支关系和历史记录

截图显示当前分支在状态栏和源代码控制视图中显示。

切换分支

切换到不同的分支被称为在Git术语中“检出”一个分支。当你检出一个分支时,Git会更新你的工作目录以匹配该分支的状态。

切换到其他分支:

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

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

    • 本地分支:存在于你本地机器上的分支
    • 远程分支:您可以本地检出的远程仓库分支
    • 最近分支:最近使用的分支
小贴士

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

创建新分支

创建一个新分支来开始进行一个功能或实验:

  1. 在状态栏中选择分支名称或从命令面板中运行Git: 创建分支

  2. 输入新分支的名称。使用描述性的名称,例如功能/用户认证错误修复/登录错误输入:.

    小贴士

    VS Code 可以为你生成随机分支名称。通过以下方式进行配置

    git.分支随机名称.启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    git.分支随机名称.字典
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置。

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

截图显示了创建分支对话框,包含分支名称输入和源分支选择。

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

小贴士

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

重命名和删除分支

重命名当前分支:

  1. 运行 Git: 重命名分支 从命令面板或从更多操作 (…) 菜单中选择。
  2. 输入新的分支名称。

要删除一个分支:

  1. 切换到其他分支(您不能删除当前活动的分支)。
  2. 运行 Git: 删除分支 从命令面板或从 更多操作 (...) 菜单中选择。
  3. 从列表中选择要删除的分支。

您还可以通过使用匹配的删除远程分支操作来删除远程分支。

警告

永久删除分支将从你的本地仓库中彻底移除它。确保该分支已被合并或你不再需要这些更改。

合并和发布分支

当你的功能完成时,将其合并回主分支:

  1. 切换到目标分支(通常是主要开发)。
  2. 运行 Git: 合并分支 从命令面板。
  3. 选择要合并的分支。

要将分支发布到远程仓库,请使用发布分支操作。

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

使用Git工作树

VS Code 内置了对Git 工作树的支持,使管理多个分支和同时进行工作变得简单。

理解工作树

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

  • 在不同的文件夹中同时对多个功能进行工作
  • 并排运行不同版本的应用程序
  • 比较各分支的实现

创建工作树

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

  1. 打开源代码控制仓库视图,从源代码控制视图中。

    截图显示源代码控制库视图,列出多个库。

  2. 选择你的仓库,打开更多操作 (...)菜单,然后选择工作树 > 创建工作树.

    截图显示在源代码控制仓库视图中的工作树上下文菜单。

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

    VS Code 在指定位置创建一个新文件夹作为工作树,并在该文件夹中检出所选分支。

新的工作树在源代码控制仓库视图中显示为一个单独的条目。

在工作树之间切换

VS Code 可以同时显示多个仓库(包括工作树):

  • 每个工作区在源代码控制仓库视图中显示为一个单独的仓库
  • 您可以打开多个 VS Code Windows,每个Windows指向不同的工作树
  • 使用 文件 > 打开最近 来快速切换工作树目录

打开工作树

有多种方法可以打开工作树:

  • 直接在 VS Code 中打开与工作树关联的文件夹。VS Code 会自动检测这是一个现有仓库的工作树。

  • 右键单击源代码管理库中的工作区,并选择“在新Windows中打开工作区”或“在当前Windows中打开工作区”。

  • 运行 Git: 在当前Windows中打开工作树Git: 在新Windows中打开工作树 命令并在命令面板中选择所需的工作树。

比较并迁移工作树中的更改

当你在工作树中进行更改时,你可以将这些更改与主工作区进行比较,并将工作树更改重新带回主仓库。

  1. 在源代码管理视图中,右键单击工作树中的更改文件并选择“与工作区比较”以并排查看差异。

    截图显示在工作树上下文菜单中选择与工作区比较的选项和并排差异视图。

  2. 在审查后,使用迁移工作树更改命令从命令面板中将工作树的所有更改合并到当前工作区。

下一步