跳至主要内容

为存储库创建 Codespace

您可以为存储库中的分支创建 Codespace 以在线开发。

关于为存储库创建 Codespace

您可以在 GitHub.com、Visual Studio Code 或使用 GitHub CLI 创建 Codespace。使用本文中的选项卡显示每种创建 Codespace 方法的说明。

您可以在个人 GitHub.com 帐户上使用 GitHub Codespaces,每个月免费使用配额包含在免费和专业计划的帐户中。您可以通过提供付款详细信息并设置支出限额,在每月包含的存储和计算使用量之外继续使用 GitHub Codespaces。有关更多信息,请参阅 "关于 GitHub Codespaces 的计费."

组织可以允许成员和外部协作者以组织的费用创建和使用 Codespaces。有关更多信息,请参阅 "选择谁拥有和支付组织中的 Codespaces."

您从组织拥有的存储库创建 Codespaces 的能力取决于几个因素,包括存储库的可见性和组织或其父企业设置。有关更多信息,请参阅 "Codespaces 创建和删除故障排除."

如果您要开始一个新项目,您可能希望从模板创建代码空间,并在稍后发布到 GitHub 上的存储库。有关更多信息,请参阅“从模板创建代码空间”。

注意:如果您使用 JetBrains IDE,则可以使用 GitHub CLI 创建代码空间。然后,您可以使用 JetBrains Gateway 应用程序在 JetBrains IDE 中打开代码空间。有关更多信息,请参阅“在 JetBrains IDE 中使用 GitHub 代码空间”。

如果您从存储库创建代码空间,则代码空间将与特定分支相关联,该分支不能为空。您可以在每个存储库甚至每个分支上创建多个代码空间。

您可以在“您的代码空间”页面上查看您创建的所有可用代码空间。要显示此页面,请在 GitHub.com 的左上角选择 ,然后单击 代码空间。这将带您到 github.com/codespaces

代码空间创建过程

当您创建代码空间时,会执行许多步骤来创建并连接到您的开发环境

  • 步骤 1:将 VM 和存储分配给您的代码空间。
  • 步骤 2:创建容器并克隆您的存储库。
  • 步骤 3:您可以连接到代码空间。
  • 步骤 4:代码空间继续进行创建后设置。

有关创建代码空间时发生情况的更多信息,请参阅“深入了解 GitHub 代码空间”。

有关代码空间生命周期的更多信息,请参阅“了解代码空间生命周期”。

如果您想在代码空间中使用 Git 钩子,则应使用 devcontainer.json 生命周期脚本(例如 postCreateCommand)设置钩子。这些脚本将在上面的步骤 4 中执行。有关生命周期脚本的信息,请参阅开发容器网站上的 开发容器规范。由于代码空间的开发容器是在克隆存储库后创建的,因此在开发容器映像中配置的任何 git 模板目录 都不适用于您的代码空间。相反,必须在创建代码空间后安装钩子。

您可以在代码空间中使用 VS Code 编辑代码、调试和使用 Git 命令。有关更多信息,请参阅 VS Code 文档

为了加快代码空间创建速度,存储库管理员可以为存储库启用 GitHub 代码空间预构建。有关更多信息,请参阅“关于 GitHub 代码空间预构建”。

为仓库创建代码空间

  1. 在 GitHub.com 上,导航到仓库的主页。

  2. 在仓库名称下,选择分支下拉菜单(显示当前分支名称),然后点击您要为其创建代码空间的分支。

    Screenshot of the expanded branch dropdown menu, listing various branches. The dropdown menu, labeled with a branch icon and "trunk," is highlighted with a dark orange outline.

  3. 点击 ** 代码** 按钮,然后点击 **代码空间** 选项卡。

    对话框底部会显示一条消息,告知您谁将为代码空间付费。

    Screenshot of Codespaces dialog. The message showing who will pay for the codespace is highlighted with a dark orange outline.

  4. 创建您的代码空间,可以使用默认选项,也可以在配置高级选项后创建。

    • 使用默认选项

      要使用默认选项创建代码空间,请点击 .

    • 配置高级选项

      要为您的代码空间配置高级选项,例如不同的机器类型或特定的 devcontainer.json 文件

      1. 在 **代码空间** 选项卡的右上角,选择 并点击 **使用选项新建**。

        Screenshot of the options dropdown in the "Codespaces" tab, with the option "New with options" highlighted.

      2. 在代码空间的选项页面上,从下拉菜单中选择您喜欢的选项。

        Screenshot of the advanced options page with buttons for "Branch," "Dev container configuration," "Region," and "Machine type."

        选项页面也可能会显示一个或多个建议您在代码空间设置中创建的密钥的名称。有关更多信息,请参阅“推荐密钥”。

        注意

      3. 单击创建代码空间

当您创建代码空间时,用户定义的密钥的名称可能会显示在高级选项页面上。如果您选择的开发容器配置中指定了推荐的密钥,则会发生这种情况。有关更多信息,请参阅“为存储库指定推荐的密钥”。

Screenshot of the "Create codespace" page with four recommended secrets highlighted with a dark orange outline.

当系统提示您输入这些开发环境密钥的值时,建议您输入这些值,因为您的项目可能需要这些密钥的值。但是,您无需提供值即可创建代码空间。如果您愿意,可以在代码空间内设置这些密钥。

如果您为推荐的密钥输入了值,则该密钥将在新的代码空间中可用。当您单击创建代码空间时,该密钥也会添加到您用于代码空间的个人设置中,因此您在将来为该存储库创建代码空间时,无需再输入该密钥的值。

如果密钥的名称显示为一个不可选的复选框,并且没有输入框,则表示您已经在用于代码空间的个人设置中配置了此名称的密钥,并且已将其与该存储库关联。如果您创建了此名称的密钥但未将其与该存储库关联,则复选框将可用,您可以选择它,并通过这样做,您可以更新您的设置以添加关联。

如果您想更改预选密钥的值,您可以在用于代码空间的个人设置中进行更改,地址为github.com/settings/codespaces。有关更多信息,请参阅“管理您用于 GitHub 代码空间的特定于帐户的密钥”。

在您将 GitHub.com 上的帐户连接到 GitHub 代码空间扩展后,您可以创建一个新的代码空间。有关 GitHub 代码空间扩展的更多信息,请参阅VS Code 市场

  1. 在 VS Code 中,在活动栏中,单击远程资源管理器图标。

    Screenshot of the Activity Bar. The icon for the "Remote Explorer" side bar (a rectangle overlaid by a circle) is highlighted with an orange outline.

    注意:如果活动栏中未显示远程资源管理器

    1. 访问命令面板。例如,按下 Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)。
    2. 输入:details
    3. 点击 **Codespaces: Details**。
  2. 将鼠标悬停在“远程资源管理器”侧边栏上并点击 .

    Screenshot of the "Remote Explorer" side bar for GitHub Codespaces. The tooltip "Create New Codespace" is displayed beside the plus sign button.

  3. 在文本框中,输入您想要开发的仓库名称,然后选择它。

    Screenshot of "octo-org/he" entered into the text box and a list of four repositories that start with this string.

    在后续提示的右侧会显示一条消息,告知您谁将为 Codespace 付费。

    Screenshot of a prompt for a branch, with the message "Usage paid for by hubwriter."

  4. 点击您想要开发的分支。

  5. 如果提示您选择一个开发容器配置文件,请从列表中选择一个文件。

  6. 点击您想要使用的机器类型。

    注意:可用的机器类型选择可能会受到多种因素的限制。这些因素可能包括为您的组织配置的策略,或您的仓库的最小机器类型规范。有关更多信息,请参阅“限制对机器类型的访问”和“设置 Codespace 机器最小规格”。

要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。

要创建新的 Codespace,请使用 gh codespace create 子命令。

gh codespace create

系统会提示您选择一个仓库。会显示一条消息,告知您谁将为 Codespace 付费。然后,系统会提示您选择一个分支、一个开发容器配置文件(如果有多个可用)和一个机器类型(如果有多个可用)。

或者,您可以使用标志来指定部分或所有选项

gh codespace create -r OWNER/REPO -b BRANCH --devcontainer-path PATH -m MACHINE-TYPE

在此示例中,将 owner/repo 替换为仓库标识符。将 branch 替换为分支名称或您想要在 Codespace 中最初签出的提交的完整 SHA 哈希值。如果您使用 -r 标志而不使用 b 标志,则 Codespace 将从默认分支创建。

path 替换为您想要用于新 Codespace 的开发容器配置文件的路径。如果您省略此标志,并且有多个开发容器文件可用,则系统会提示您从列表中选择一个。有关开发容器配置文件的更多信息,请参阅“开发容器简介”。

用有效的标识符替换machine-type,以表示可用的机器类型。标识符是字符串,例如:basicLinux32gbstandardLinux32gb。可用的机器类型取决于仓库、您的个人帐户和您的位置。如果您输入无效或不可用的机器类型,错误消息中将显示可用的类型。如果您省略此标志,并且有多种机器类型可用,系统将提示您从列表中选择一种。

有关此命令选项的完整详细信息,请参阅 GitHub CLI 手册

进一步阅读