关于为仓库创建代码空间
您可以在 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 预构建概述。
为仓库创建代码空间
-
在 GitHub 上,导航至仓库的主页面。
-
在仓库名称下方,选择标有当前分支名称的分支下拉菜单,然后点击您想要为其创建代码空间的分支。

-
点击 代码 按钮,然后点击 Codespaces 选项卡。
对话框底部会显示一条消息,告知谁将为代码空间付款。

-
创建代码空间,可以使用默认选项,也可以在配置高级选项后创建
-
使用默认选项
要使用默认选项创建代码空间,请点击.
-
配置高级选项
要为代码空间配置高级选项,例如更改机器类型或指定特定的
devcontainer.json文件,请在此进行设置。-
在 代码空间 选项卡的右上角,选择并点击 带选项的新建。

-
在代码空间的选项页面中,从下拉菜单中选择您偏好的设置。

选项页面可能还会显示一个或多个密钥的名称,建议您在代码空间设置中创建这些密钥。更多信息,请参阅 推荐的密钥。
注意
- 您可以将此选项页面加入书签,以便快速为该仓库和分支创建代码空间。
- https://github.com/codespaces/new 页面提供了一种快速方式,可为任意仓库和分支创建代码空间。只需在浏览器地址栏输入
codespace.new即可快速访问此页面。 - 有关 dev 容器配置文件的更多信息,请参阅 dev 容器简介。
- 有关机器类型的更多信息,请参阅 更改代码空间的机器类型。
- 可用机器类型的选择可能受到多种因素限制。这些因素可能包括为您的组织配置的策略,或您仓库的最低机器规格要求。有关详细信息,请参阅 限制机器类型的访问 和 为代码空间机器设置最低规格。
-
点击 创建代码空间。
-
-
推荐的密钥
当您在创建代码空间时打开高级选项页面,可能会显示用户自定义密钥的名称。这种情况发生在您选择的 dev 容器配置中已指定推荐的密钥。详情请参阅 为仓库指定推荐的密钥。

在系统提示您输入时,为这些开发环境密钥填入值是推荐的,因为您的项目很可能需要这些密钥的值。但填写这些值并非创建代码空间的必需条件,您也可以在代码空间内部自行设置这些密钥。
如果您为推荐的密钥填写了值,该密钥将在新的代码空间中可用。当您点击 创建代码空间 时,该密钥也会被添加到您个人的代码空间设置中,今后为同一仓库创建代码空间时便无需再次输入该密钥的值。
如果某个密钥名称旁显示一个不可选中的复选框且没有输入框,这表明您已在个人代码空间设置中配置了同名密钥,并且已经将其关联至该仓库。如果您已创建同名密钥但尚未关联到该仓库,复选框将可供选择,选中后即可在设置中添加关联。
如果您想更改已预选密钥的值,可前往个人代码空间设置页面 github.com/settings/codespaces 进行修改。更多信息,请参阅 管理 GitHub Codespaces 的账户专用密钥。
在将您的 GitHub 账户连接到 GitHub Codespaces 扩展后,您可以创建新的代码空间。有关 GitHub Codespaces 扩展的更多信息,请参阅 VS Code Marketplace。
-
在 VS Code 的活动栏中,点击远程资源管理器图标。

注意
如果活动栏中未显示 Remote Explorer
- 打开命令面板。例如,按 Shift+Command+P(Mac)或 Ctrl+Shift+P(Windows/Linux)。
- 输入:
details。 - 点击 Codespaces: Details。
-
将鼠标悬停在 “Remote Explorer” 侧边栏上并点击.

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

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

-
点击您想要开发的分支。
-
如果系统提示选择 dev container 配置文件,请从列表中选择一个文件。
-
点击您想要使用的机器类型。
注意
可用机器类型的选择可能受到多种因素限制。这些因素可能包括为您的组织配置的策略,或您仓库的最低机器规格要求。有关详细信息,请参阅 限制机器类型的访问 和 为代码空间机器设置最低规格。
注意
要了解更多关于 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 替换为可用机器类型的有效标识符。标识符形式如 basicLinux32gb、standardLinux32gb 等。可用机器类型取决于仓库、您的个人账户以及所在地区。如果输入的机器类型无效或不可用,系统会在错误信息中列出可用类型。如果省略此标志且有多个机器类型可选,系统会提示您从列表中选择。
关于此命令的完整选项详情,请参阅 GitHub CLI 手册。