现已推出!阅读 10 月份的新功能和修复。

Visual Studio Code 中的 Git 简介

想要轻松管理您的源代码并与他人协作?Git 和 GitHub 是您需要的工具!使用 Visual Studio Code,您可以轻松地设置和使用它们。即使您是初学者,VS Code 的用户友好界面也会指导您完成常见的 Git 操作,例如推送和拉取代码、创建和合并分支以及提交代码更改。如果您是专业人士,您会喜欢直接在编辑器中执行 Git 操作的能力,与使用 Git 命令行相比,这可以节省您的时间和精力。此外,VS Code 和 Git 之间的无缝工作流程意味着您可以始终留在编辑器中并完成更多工作。

在 VS Code 中设置 Git

要在 VS Code 中使用 Git 和 GitHub,首先确保您 已在计算机上安装 Git。如果缺少 Git,则“源代码管理”视图将显示有关如何安装它的说明。请确保在安装后重新启动 VS Code。

此外,您可以在活动栏右下角的“帐户”菜单中使用您的 GitHub 帐户登录 VS Code,以启用其他功能,例如 设置同步,还可以从 GitHub 克隆和发布存储库。

Screenshot of the Accounts menu in VS Code

打开 Git 存储库

VS Code 提供了几种方法来启动 Git 存储库,从本地到远程云驱动的环境,例如 GitHub Codespaces

本地克隆存储库

要克隆存储库,请在命令面板 (⇧⌘P(Windows、Linux Ctrl+Shift+P) 中运行“Git: 克隆”命令,或选择“源代码管理”视图中的“克隆存储库”按钮。

如果您从 GitHub 克隆,VS Code 会提示您使用 GitHub 进行身份验证。然后,从列表中选择一个存储库以克隆到您的计算机。该列表包含公共和私有存储库。

Screenshot of the Clone Repository quick prompt, searching for repositories with the name vscode

对于其他 Git 提供商,请输入存储库 URL,选择“克隆”,然后选择本地计算机上的文件夹以将文件克隆到该文件夹中。VS Code 会在存储库克隆到您的本地计算机后打开该文件夹。

Screenshot of the Clone Repository quick prompt, searching for a repository by providing the repository URL

在本地文件夹中初始化存储库

要初始化一个新的本地 Git 存储库

  1. 在您的计算机上选择一个现有文件夹或新建文件夹,并在 VS Code 中打开它。

  2. 在“源代码管理”视图中,选择“初始化存储库”按钮。

    这将在当前文件夹中创建一个新的 Git 存储库,允许您开始跟踪代码更改。

    此操作等效于在命令行上运行 git init

    Source Control view for a workspace not under Git source control will offer to Initialize a Git repo or Publish to GitHub

将本地存储库发布到 GitHub

您还可以初始化一个本地存储库并将其直接发布到 GitHub。这将在您的 GitHub 帐户中创建一个新的存储库,并将您的本地代码更改推送到远程存储库。将您的源代码放在远程存储库中是备份代码、与他人协作以及使用 GitHub Actions 自动执行工作流程的好方法。

使用“源代码管理”视图中的“发布到 GitHub”命令按钮。然后,您可以为存储库选择一个名称和说明,以及将其设置为公开还是私有。

Screenshot of the Publish to GitHub quick prompt, showing private and public GitHub repository names

存储库创建完成后,VS Code 会将您的本地代码推送到远程存储库。您的代码现已在 GitHub 上备份,您可以开始使用提交和拉取请求与他人协作。

在 Codespace 中打开 GitHub 存储库

GitHub Codespaces 允许您在完全配置的基于云的开发环境中打开 GitHub 存储库,使您能够在浏览器中进行开发,而无需在本地计算机上安装任何软件。GitHub Codespaces 允许个人免费使用,这使得开始处理开源项目变得容易。

要为您的 GitHub 存储库创建 Codespace

  1. 在 VS Code 中安装 GitHub Codespaces 扩展,并使用您的 GitHub 帐户登录。

  2. 运行“Codespaces: 创建新的 Codespace”命令。

  3. 选择要打开的存储库和分支。

    VS Code 会打开一个新窗口,该窗口连接到 Codespace。源代码、终端以及运行和调试都托管在远程基于云的开发环境中。

    请注意,文件资源管理器和状态栏指示工作区是在 Codespace 中打开的。

    Screenshot of a workspace opened in a codespace, highlighting the codespace name in the File Explorer and Status Bar

或者,您也可以从 GitHub Codespaces 网站 上的 Codespace 模板开始。

如果您已经在浏览器中打开了一个 Codespace,请在浏览器中运行“Codespaces: 在 VS Code 桌面中打开”命令,以从本地 VS Code 桌面连接到 Codespace。

您可以在 在 Codespace 中进行开发 文档中详细了解 GitHub Codespaces,包括端口转发等自定义项。

远程打开 GitHub 存储库

VS Code 的远程存储库支持允许您浏览和编辑 GitHub 存储库,而无需将其克隆到本地计算机。这对快速更改远程存储库非常有用,而无需将整个代码库克隆到您的计算机。

  1. 首先安装 GitHub 存储库 扩展。

  2. 运行“远程存储库: 打开远程存储库...”命令,或使用资源管理器视图中的“打开远程存储库”按钮。

  3. 搜索并选择要打开的 GitHub 存储库。

    Remote Repositories opening a remote GitHub repo, pull request or Azure repo

提示:如果您需要执行代码或运行终端命令,可以使用“继续工作”命令从远程存储库无缝切换到 Codespace。

暂存和提交代码更改

设置好 Git 存储库后,您可以通过 暂存和提交 您新创建和编辑的代码来开始跟踪代码更改。

提示:尽早并频繁地提交您的更改。这使得在需要时更容易恢复到代码的先前版本。

您可以从活动栏访问源代码管理视图,以列出工作区中所有已更改的文件。您可以使用源代码管理视图标题中的树/列表图标在树视图和列表视图之间切换。

Source Control view, highlighting the tree/list view control in the header

当您在源代码管理视图中选择一个文件时,编辑器会显示一个差异视图,该视图突出显示文件更改,与先前提交的文件相比。

Source Control view with one file staged and other changes, a diff showing in the editor that highlights the changes

要暂存文件,请选择源代码管理视图中文件旁边的+(加号)图标。这会将文件添加到暂存更改部分,表示它将包含在下次提交中。

Source Control view with four changed files, highlighting the '+' button to stage the changes of a file

您也可以通过选择源代码管理视图中更改旁边的+(加号)图标来一次性暂存所有待处理的更改。

暂存的更改也可以通过选择文件旁边的-(减号)图标来放弃。同样,您可以通过选择源代码管理视图中暂存更改旁边的-(减号)图标来放弃所有暂存的更改。

Source Control view with four changed files, highlighting the '-' button to unstage the changes of a file

要提交暂存的更改,请在上面的文本框中键入提交消息,然后选择提交按钮。这会将您的更改保存到本地 Git 存储库,允许您在需要时恢复到代码的先前版本。

提示:如果您有 GitHub Copilot 订阅并安装了 Github Copilot 扩展,您可以使用闪光图标来生成提交消息.

您可以在资源管理器视图底部的时间轴视图中导航和查看所有本地文件更改和提交。

Timeline view with one item selected and its change being shown in the editor

推送和拉取远程更改

在您将提交推送到本地 Git 存储库后,您可以将它们推送到远程存储库。同步更改按钮指示将要推送和拉取的提交数量。选择同步更改按钮会下载(拉取)任何新的远程提交并将新的本地提交上传(推送)到远程存储库。

Sync button with one change to push

提示:您可以启用Git: 自动获取设置以始终获得最新的远程提交指示器。

推送和拉取也可以通过使用各自的命令单独执行。您可以从源代码管理菜单访问这些命令。

Source Control menu that shows all source control commands

使用分支

在 Git 中,分支允许您同时处理代码库的多个版本。这对于尝试新功能或进行重大代码更改而不会影响主代码库非常有用。

状态栏中的分支指示器显示当前分支并允许您切换到新的和现有的分支。

Branch indicator in the Status bar

要创建新分支,请选择分支指示器并选择从当前分支或其他本地分支创建它。键入新分支的名称并确认。VS Code 会创建一个新分支并切换到它,允许您对代码进行更改而不会影响主分支。

Create branch quick prompt that shows when selecting the branch indicator

提示:如果您使用GitHub 拉取请求和问题扩展,您可以直接从问题创建分支,这将使您开始在一个新的本地分支中工作,并自动为您预先填写拉取请求。

创建本地分支后,您可以通过选择源代码管理视图中的发布分支将分支推送到远程存储库。这会在远程存储库中创建一个新分支,允许您与该分支中的其他人协作。

创建和查看 GitHub 拉取请求

在 Git 和 GitHub 中,拉取请求 (PR)是协作者将来自不同分支的代码更改审查并合并到主分支的一种方式。这使团队能够在代码更改合并到主代码库之前审查和批准它们,确保只有高质量的更改被合并。

要在 VS Code 中使用拉取请求,您需要安装GitHub 拉取请求和问题扩展。此扩展将 PR 和问题跟踪功能添加到 VS Code,允许您在编辑器中创建、审查和合并 PR。

要创建 PR,请确保您位于与主分支不同的分支上,并将代码更改推送到远程存储库。在源代码管理视图中,选择创建拉取请求按钮。这将打开 PR 创建表单,您可以在其中为 PR 输入标题和描述,以及选择将更改合并到哪个分支。选择创建以创建 PR。

Source Control view, highlighting the 'Create pull request' button

要审查 PR,请选择源代码管理视图中的审查拉取请求按钮,并选择要审查的 PR。这将在新编辑器窗口中打开 PR,您可以在其中审查代码更改并留下评论。一旦您对代码更改感到满意,您可以选择合并按钮将 PR 合并到目标分支。

详细了解VS Code 的 GitHub 文档中的拉取请求。

在内置终端中使用 Git

由于所有 Git 状态都保存在本地存储库中,因此您可以轻松地在 VS Code 的 UI、内置终端或外部工具(如GitHub Desktop)之间切换。您还可以设置VS Code 作为您的默认 Git 编辑器,允许您使用 VS Code 来编辑提交消息和其他与 Git 相关的文件。

Windows 上的 Git Bash

Git Bash 是一个流行的 Windows shell 环境,它提供了用于处理 Git 和其他命令行工具的类 Unix 命令行界面。Visual Studio Code 的集成终端支持 Git Bash 作为 shell,允许您将 Git Bash 无缝集成到您的开发工作流程中。在您的 Windows 机器上安装 Git 也会安装 Git Bash,如果在安装步骤中未取消选择它。

Selecting Git Bash as shell in Visual Studio Code's built-in terminal

首先打开查看>终端(⌃` (Windows、Linux Ctrl+`))。选择终端面板中+图标旁边的下拉箭头以选择要打开的新 shell。如果安装了 Git Bash,它将显示在终端和 shell 列表中。您可以在终端侧边栏中切换不同的终端和 shell。在 Visual Studio Code 中配置 Git Bash 后,您现在可以直接从代码编辑器中的终端使用您最喜欢的 Git 命令。

如果您想将 Git Bash 设置为您的默认 shell,请打开终端下拉菜单(位于+图标旁边)并选择选择默认配置文件。这将打开一个可用 shell 列表,包括 Git Bash。选择Git Bash 将其设置为您的默认 shell,所有将来的终端都将使用 Git Bash 打开。更多高级的终端提示可在终端文档中找到。