VS 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 克隆和发布存储库。

打开 Git 存储库

VS Code 提供了多种在 Git 存储库中入门的方法,从本地到远程云支持的环境(例如GitHub Codespaces)

在本地克隆存储库

克隆存储库快速提示的屏幕截图,搜索名称为 vscode 的存储库

要从 GitHub 克隆存储库,请执行Git: Clone命令或选择“源代码管理”视图中的“克隆存储库”按钮。如果您从 GitHub 克隆,VS Code 将提示您使用 GitHub 进行身份验证。这允许您搜索所有可用的存储库并克隆私有存储库。对于其他 Git 提供商,输入存储库 URL 并选择“克隆”并选择一个文件夹。将存储库克隆到本地计算机上后,VS Code 将打开该文件夹。

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

要初始化新的本地存储库,请选择计算机上的现有或新文件夹并在 VS Code 中打开它。在“源代码管理”视图中,选择“初始化存储库”按钮。这会在当前文件夹中创建一个新的 Git 存储库,允许您开始跟踪代码更改。

将本地存储库发布到 GitHub

设置本地 Git 存储库后,您可以将其发布到 GitHub。这将在您的 GitHub 帐户上创建一个新存储库,并将本地代码推送到远程存储库。将源代码放在远程存储库上是备份代码、与他人协作以及使用GitHub Actions自动化工作流程的好方法。

不在 Git 源代码控制下的工作区的源代码控制视图将提供初始化 Git 存储库或发布到 GitHub 的功能

使用“源代码管理”视图中的“发布到 GitHub”命令按钮。然后,您可以选择存储库的名称和描述,以及将其设为公开还是私有。创建存储库后,VS Code 会将本地代码推送到远程存储库。您的代码现已备份在 GitHub 上,您可以开始与其他人协作提交和拉取请求。

在代码空间中打开 GitHub 存储库

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

GitHub Codespaces扩展安装到 VS Code 中并使用 GitHub 登录。运行Codespaces:创建新的 Codespace命令并选择要打开的存储库和分支。新的代码空间将在新窗口中打开。

从 VS Code Desktop 中的存储库创建代码空间

或者,您也可以从GitHub 的 Codespaces 站点中的模板开始。如果您已在浏览器中打开了代码空间,则可以通过运行 Codespaces :在 VS Code 桌面中打开命令在 VS Code 桌面中打开它。您可以在代码空间中开发文档中了解有关 GitHub Codespaces 的更多信息,包括转发端口等自定义。

远程打开 GitHub 存储库

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

首先安装GitHub 存储库扩展。运行命令远程存储库:打开远程存储库...或使用资源管理器视图中的“打开远程存储库”按钮。搜索并选择您要打开的 GitHub 存储库。

远程存储库打开远程 GitHub 存储库、拉取请求或 Azure 存储库

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

暂存和提交代码更改

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

源代码管理视图,其中包含一个已暂存的文件和其他更改,编辑器中显示的差异突出显示了更改

提示:尽早并经常提交更改。如果需要,这将使您更容易恢复到以前的代码版本。

要暂存文件,请在“源代码管理”视图中选择文件旁边的+ (加号)图标。这会将文件添加到暂存更改部分,表明它将包含在下一次提交中。还可以通过选择文件旁边的- (减号)图标来放弃分阶段更改。

要提交分阶段更改,请在上方文本框中键入提交消息,然后选择“提交”按钮。这会将您的更改保存到本地 Git 存储库,以便您可以在需要时恢复到以前版本的代码。您可以在资源管理器底部的时间轴视图中导航并查看所有本地文件更改和提交。

时间轴视图,其中选择了一项,其更改显示在编辑器中

推送和拉取远程更改

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

同步按钮只需一键更改即可

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

推和拉也可以使用各自的命令单独执行。

使用分支

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

状态栏中的分支指示器

状态栏中的分支指示器显示当前分支并允许您切换到新分支和现有分支。要创建新分支,请选择分支指示器,然后选择从当前分支或另一个本地分支创建它。输入新分支的名称并确认。VS Code 创建一个新分支并切换到它,允许您在不影响主分支的情况下对代码进行更改。

提示:如果您使用GitHub Pull Requests and Issues扩展,您可以直接从问题创建分支,这样您就可以开始在新的本地分支中工作,并自动为您预填充拉取请求。

要将分支推送到远程存储库,请在“源代码管理”视图中选择“发布分支”。这将在远程存储库上创建一个新分支,允许您与该分支中的其他人协作。

创建和审查 GitHub 拉取请求

在 Git 和 GitHub 中,拉取请求 (PR)是协作者审查代码更改并将其从单独分支合并到主分支的一种方式。这使得团队可以在将代码更改合并到主代码库之前对其进行审查和批准,从而确保仅合并高质量的更改。

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

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

要审查 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 环境,它提供了类似 Unix 的命令行界面,用于使用 Git 和其他命令行工具。Visual Studio Code 的集成终端支持 Git Bash 作为 shell,允许您将 Git Bash 无缝集成到您的开发工作流程中。如果在安装步骤中没有取消选择,在 Windows 计算机上安装 Git 也会安装 Git Bash。

在 Visual Studio Code 的内置终端中选择 Git Bash 作为 shell

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

如果要将 Git Bash 设置为默认 shell,请打开“终端”下拉列表(图标旁边+)并选择“选择默认配置文件”。这将打开可用 shell 的列表,包括 Git Bash。选择 Git Bash 会将其设置为默认 shell,并且将来的所有终端都将使用 Git Bash 打开。终端文档中提供了更高级的提示。