跳至主要内容

为仓库创建 Codespace

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

关于为仓库创建代码空间

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

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

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

您从组织拥有的仓库创建代码空间的能力取决于几个因素,包括仓库的可见性和组织或其父企业的设置。有关更多信息,请参阅“代码空间创建和删除故障排除”。

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

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

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

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

codespace 创建过程

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

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

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

有关 codespace 生命周期的信息,请参阅“了解 codespace 生命周期”。

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

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

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

为存储库创建 codespace

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

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

    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. 点击 ** 代码** 按钮,然后点击 **Codespaces** 选项卡。

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

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

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

    • 使用默认选项

      要使用默认选项创建 Codespace,请点击 .

    • 配置高级选项

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

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

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

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

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

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

        备注

        • 您可以将选项页面添加为书签,以便快速创建此仓库和分支的 Codespace。
        • https://github.com/codespaces/new 页面提供了一种快速创建任何仓库和分支的 Codespace 的方法。您可以在浏览器地址栏中输入 codespace.new 快速访问此页面。
        • 有关 dev 容器配置文件的更多信息,请参见“dev 容器简介”。
        • 有关机器类型的更多信息,请参见“更改 Codespace 的机器类型”。
        • 您可用的机器类型选择可能会受到多种因素的限制。这些因素可能包括为您的组织配置的策略,或您的存储库的最小机器类型规范。有关更多信息,请参阅“限制对机器类型的访问”和“为 Codespace 机器设置最小规格”。
      3. 点击创建 Codespace

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

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

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

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

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

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

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

  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:详细信息
  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 手册

进一步阅读