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克隆和发布仓库。

VS Code中账户菜单的截图

打开一个Git仓库

VS Code 提供了多种方式在 Git 仓库中开始工作,从本地到远程云环境,如 GitHub Codespaces

本地克隆一个仓库

要克隆一个仓库,请在命令面板中运行Git: Clone命令(⇧⌘P (Windows, Linux Ctrl+Shift+P)),或在源代码管理视图中选择克隆仓库按钮。

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

克隆仓库快速提示的截图,正在搜索名为vscode的仓库

对于其他Git提供商,请输入仓库URL,选择克隆,并在本地机器上选择一个文件夹来克隆文件。一旦仓库在本地机器上克隆完成,VS Code将打开该文件夹。

克隆仓库快速提示的截图,通过提供仓库URL搜索仓库

在本地文件夹中初始化一个仓库

初始化一个新的本地Git仓库:

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

  2. 源代码管理视图中,选择初始化仓库按钮。

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

    此操作相当于在命令行上运行 git init

    未在Git源代码控制下的工作区的源代码控制视图将提供初始化Git仓库或发布到GitHub的选项

发布本地仓库到GitHub

你也可以初始化一个本地仓库并直接发布到GitHub。这会在你的GitHub账户上创建一个新的仓库,并将你本地的代码更改推送到远程仓库。将你的源代码放在远程仓库上是备份代码、与他人协作以及使用GitHub Actions自动化工作流程的好方法。

使用Source Control视图中的Publish to GitHub命令按钮。然后您可以为仓库选择一个名称和描述,并决定是否将其设为公开或私有。

发布到GitHub的快速提示截图,显示私有和公共GitHub仓库名称

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

在代码空间中打开一个GitHub仓库

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

为您的GitHub仓库创建一个代码空间:

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

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

  3. 选择您想要打开的仓库和分支。

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

    请注意,文件资源管理器和状态栏指示工作区已在代码空间中打开。

    在代码空间中打开的工作区截图,突出显示文件资源管理器和状态栏中的代码空间名称

或者,你也可以从GitHub Codespaces 网站上的代码空间模板开始。

如果您已经在浏览器中打开了一个代码空间,请在浏览器中运行Codespaces: Open in VS Code Desktop命令,以从本地的VS Code Desktop连接到代码空间。

您可以了解更多关于GitHub Codespaces的信息,包括转发端口等自定义设置,在在代码空间中开发文档中。

远程打开一个GitHub仓库

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

  1. 首先安装GitHub Repositories扩展。

  2. 运行命令Remote Repositories: Open Remote Repository...或使用资源管理器视图中的Open Remote Repository按钮。

  3. 搜索并选择您想要打开的GitHub仓库。

    远程仓库打开一个远程GitHub仓库、拉取请求或Azure仓库

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

暂存和提交代码更改

一旦你设置好了Git仓库,你就可以通过暂存和提交你新创建和编辑的代码来开始跟踪代码的变化。

提示: 尽早并经常提交你的更改。这样在需要时可以更容易地恢复到代码的先前版本。

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

源代码控制视图,突出显示标题中的树/列表视图控件

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

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

要暂存文件,请在Source Control视图中选择文件旁边的+(加号)图标。这将文件添加到Staged Changes部分,表示它将被包含在下一次提交中。

源代码控制视图,显示四个已更改的文件,突出显示“+”按钮以暂存文件的更改

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

可以通过选择文件旁边的(减号)图标来丢弃暂存的更改。同样,您可以通过在源代码控制视图中选择Staged Changes旁边的(减号)图标来丢弃所有暂存的更改。

源代码控制视图,显示四个已更改的文件,突出显示'-'按钮以取消暂存文件的更改

要提交您暂存的更改,请在上方的文本框中输入提交信息,然后选择提交按钮。这将把您的更改保存到本地Git仓库中,以便在需要时恢复到代码的先前版本。

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

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

时间轴视图,选中一个项目并在编辑器中显示其更改

推送和拉取远程更改

一旦你在本地Git仓库中进行了提交,你可以将它们推送到远程仓库。同步更改按钮显示了将要推送和拉取的提交数量。选择同步更改按钮会下载(拉取)任何新的远程提交,并将新的本地提交上传(推送)到远程仓库。

同步按钮,有一个更改需要推送

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

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

显示所有源代码控制命令的源代码控制菜单

使用分支

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

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

状态栏中的分支指示器

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

创建分支快速提示,在选择分支指示器时显示

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

在创建本地分支后,您可以通过在源代码管理视图中选择发布分支来将该分支推送到远程仓库。这将在远程仓库上创建一个新分支,使您能够在该分支中与他人协作。

创建和审查GitHub拉取请求

在 Git 和 GitHub 中,pull requests (PRs) 是协作者审查并将代码更改从单独分支合并到主分支的一种方式。这使得团队能够在代码更改被纳入主代码库之前进行审查和批准,确保只有高质量的更改被合并。

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

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

源代码控制视图,突出显示'创建拉取请求'按钮

要审查一个PR,请在Source Control视图中选择Review Pull Request按钮,并选择你想要审查的PR。这将在新的编辑器窗口中打开PR,你可以在其中审查代码更改并留下评论。一旦你对代码更改感到满意,你可以选择Merge按钮将PR合并到目标分支中。

了解更多关于拉取请求的信息,请访问VS Code的GitHub文档

在内置终端中使用 Git

由于所有Git状态都保存在本地仓库中,您可以轻松地在VS Code的用户界面、内置终端或外部工具(如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 列表中显示。您可以在终端侧边栏中切换不同的终端和 shell。在 Visual Studio Code 中配置了 Git Bash 后,您现在可以直接从代码编辑器的终端中使用所有您喜欢的 Git 命令。

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