跳至主要内容

为存储库创建 codespace

您可以为仓库中的分支创建代码空间,以进行在线开发。

关于为仓库创建代码空间

您可以在 GitHub、Visual Studio Code 中或使用 GitHub CLI 创建代码空间。使用本文中的标签,可查看每种创建代码空间方式的说明。

您可以在个人 GitHub 账户上使用 GitHub Codespaces,免费计划和专业计划每月均包含一定的免费配额。通过提供付款信息并设置支出上限,您可以在超过每月包含的存储和计算使用量后继续使用 GitHub Codespaces。请参阅 GitHub Codespaces 计费

组织可以让成员和外部协作者在组织费用下创建并使用代码空间。更多信息,请参阅 在组织中选择代码空间的所有者和付款方

您能否从组织拥有的仓库创建代码空间取决于多种因素,包括仓库的可见性以及组织或其上级企业的设置。更多信息请参阅 代码空间的创建与删除故障排除

如果您正在启动一个新项目,可能希望先从模板创建代码空间,随后再将其发布到 GitHub 上的仓库。更多信息,请参阅 从模板创建代码空间

如果您从仓库创建代码空间,该代码空间将关联到一个具体的分支,且该分支不能为空。您可以为同一仓库甚至同一分支创建多个代码空间。

您可以在“Your codespaces”(您的代码空间)页面查看已创建的所有可用代码空间。要打开此页面,请在 GitHub 左上角选择,然后点击 代码空间。这将带您前往 github.com/codespaces

代码空间创建过程

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

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

有关创建代码空间时会发生什么的更多信息,请参阅 深入了解 GitHub Codespaces

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

如果您想在代码空间中使用 Git 钩子,应使用 devcontainer.json 的生命周期脚本(如 postCreateCommand)来设置钩子。这些脚本在上面的第 4 步执行。有关生命周期脚本的详细信息,请参阅开发容器网站上的 dev containers 规范。由于代码空间的开发容器是在仓库克隆之后创建的,任何在 dev 容器镜像中配置的 git 模板目录 都不会应用到代码空间中。必须在代码空间创建后再安装钩子。

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

为了加快代码空间的创建速度,仓库管理员可以为仓库启用 GitHub Codespaces 预构建。有关更多信息,请参阅 GitHub Codespaces 预构建概述

为仓库创建代码空间

  1. 在 GitHub 上,导航至仓库的主页面。

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

    Screenshot of the expanded branch dropdown menu, listing various branches. The "trunk" dropdown menu, shown with a branch icon, is outlined in orange.

  3. 点击 代码 按钮,然后点击 Codespaces 选项卡。

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

    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. 点击 创建代码空间

当您在创建代码空间时打开高级选项页面,可能会显示用户自定义密钥的名称。这种情况发生在您选择的 dev 容器配置中已指定推荐的密钥。详情请参阅 为仓库指定推荐的密钥

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

在系统提示您输入时,为这些开发环境密钥填入值是推荐的,因为您的项目很可能需要这些密钥的值。但填写这些值并非创建代码空间的必需条件,您也可以在代码空间内部自行设置这些密钥。

如果您为推荐的密钥填写了值,该密钥将在新的代码空间中可用。当您点击 创建代码空间 时,该密钥也会被添加到您个人的代码空间设置中,今后为同一仓库创建代码空间时便无需再次输入该密钥的值。

如果某个密钥名称旁显示一个不可选中的复选框且没有输入框,这表明您已在个人代码空间设置中配置了同名密钥,并且已经将其关联至该仓库。如果您已创建同名密钥但尚未关联到该仓库,复选框将可供选择,选中后即可在设置中添加关联。

如果您想更改已预选密钥的值,可前往个人代码空间设置页面 github.com/settings/codespaces 进行修改。更多信息,请参阅 管理 GitHub Codespaces 的账户专用密钥

在将您的 GitHub 账户连接到 GitHub Codespaces 扩展后,您可以创建新的代码空间。有关 GitHub Codespaces 扩展的更多信息,请参阅 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.

    注意

    如果活动栏中未显示 Remote Explorer

    1. 打开命令面板。例如,按 Shift+Command+P(Mac)或 Ctrl+Shift+P(Windows/Linux)。
    2. 输入:details
    3. 点击 Codespaces: Details
  2. 将鼠标悬停在 “Remote Explorer” 侧边栏上并点击.

    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.

    在后续提示的右侧会显示一条信息,告知谁将为该代码空间付款。

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

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

  5. 如果系统提示选择 dev container 配置文件,请从列表中选择一个文件。

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

    注意

    可用机器类型的选择可能受到多种因素限制。这些因素可能包括为您的组织配置的策略,或您仓库的最低机器规格要求。有关详细信息,请参阅 限制机器类型的访问为代码空间机器设置最低规格

注意

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

要创建新代码空间,请使用 gh codespace create 子命令。

gh codespace create

系统会提示您选择仓库,会显示一条消息告知谁将为代码空间付款。随后系统会提示您选择分支、dev 容器配置文件(如果可选的文件不止一个)以及机器类型(如果可选的机器类型不止一个)。

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

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

在此示例中,将 owner/repo 替换为仓库标识符。将 branch 替换为您希望在代码空间中最初检出的分支名称,或提交的完整 SHA 哈希。如果使用 -r 标志而未使用 -b 标志,则代码空间将基于默认分支创建。

path 替换为您想用于新代码空间的 dev 容器配置文件路径。如果省略此标志且存在多个 dev 容器文件,系统会提示您从列表中选择一个。有关 dev 容器配置文件的更多信息,请参阅 dev 容器简介

machine-type 替换为可用机器类型的有效标识符。标识符形式如 basicLinux32gbstandardLinux32gb 等。可用机器类型取决于仓库、您的个人账户以及所在地区。如果输入的机器类型无效或不可用,系统会在错误信息中列出可用类型。如果省略此标志且有多个机器类型可选,系统会提示您从列表中选择。

关于此命令的完整选项详情,请参阅 GitHub CLI 手册

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.