简介
代码空间是托管在云端的开发环境。您可以通过将配置文件提交到仓库(通常称为配置即代码)来为 GitHub Codespaces 定制项目,这为项目的所有用户创建可重复使用的代码空间配置。请参阅 开发容器简介。
您创建的每个代码空间都由 GitHub 在 Docker 容器中托管,运行在虚拟机上。您可以从多种虚拟机类型中进行选择,配置范围从 2 核、8 GB RAM、32 GB 存储,最高可达 32 核、128 GB RAM、128 GB 存储。
默认情况下,代码空间的开发环境是基于 Ubuntu Linux 镜像创建的,该镜像包含多种流行的语言和工具,但您可以使用基于自己选择的 Linux 发行版的镜像,并根据特定需求进行配置。无论本地操作系统是什么,代码空间都会在 Linux 环境中运行。Windows 和 macOS 并不支持作为远程开发容器的操作系统。
您可以通过浏览器、Visual Studio Code 或 GitHub CLI 连接到代码空间。连接后,您将位于 Docker 容器内部,对外部 Linux 虚拟机主机的访问受到限制。

使用 GitHub Codespaces
要开始使用基于云的计算资源进行开发,您可以从模板或仓库中的任意分支或提交创建代码空间。使用模板创建代码空间时,您可以从空白模板开始,或选择适合您工作内容的模板。
要快速入门 GitHub Codespaces,请参阅 GitHub Codespaces 快速入门。有关创建代码空间的更多信息,请参阅 为仓库创建代码空间 或 使用模板创建代码空间。如果您想返回已创建的代码空间,请参阅 打开已有代码空间。想进一步了解 GitHub Codespaces 的工作原理,请参阅 深入了解 GitHub Codespaces。
使用个人账户拥有的代码空间
所有个人 GitHub 账户在免费或专业计划中均包含每月免费使用 GitHub Codespaces 的配额。您可以在个人账户上直接开始使用 GitHub Codespaces,无需更改任何设置或提供付款信息。
如果您从组织拥有的仓库创建代码空间,代码空间的使用费用将根据组织的配置计入组织,或计入您的个人账户。
您可以通过提供付款信息并设置支出上限,继续使用超出每月免费配额的 GitHub Codespaces。请参阅 GitHub Codespaces 计费。
使用组织拥有的代码空间
在 GitHub Team 与 GitHub Enterprise 计划下的组织所有者可以为成员和协作者的 GitHub Codespaces 使用付费。此计费适用于从组织拥有的仓库创建的代码空间。请参阅 在组织中选择代码空间的所有者和付费方。您可以为组织或企业账号设置 GitHub Codespaces 的支出上限。请参阅 为计量产品设置预算以控制支出。
如果代码空间的使用费用将计入组织或企业,此信息会在创建代码空间时显示。请参阅 为仓库创建代码空间。计费给组织或其上级企业的代码空间归组织所有,组织所有者可以删除它们。请参阅 删除代码空间。
您能否从组织拥有的仓库创建代码空间取决于多种因素,包括仓库的可见性以及组织或其上级企业的设置。更多信息请参阅 代码空间的创建与删除故障排除。
自定义 GitHub Codespaces
要自定义代码空间中的运行时和工具,您可以为仓库创建一个或多个开发容器配置。向仓库添加开发容器配置后,您可以为仓库中不同的工作场景定义多种合适的开发环境。
如果您在没有任何开发容器配置的仓库中创建代码空间,GitHub Codespaces 将克隆您的仓库到默认的开发容器镜像中,该镜像已预装了多种工具、语言和运行时环境。若您使用模板创建代码空间,可能会在默认镜像之上拥有一些初始配置。请参阅 开发容器简介。
您可以通过使用公开的 dotfiles 仓库来个性化代码空间环境。dotfiles 可用于设置 Shell 别名和首选项,或安装您个人偏好的工具。如果您在浏览器或 Visual Studio Code 中使用 GitHub Codespaces,可以使用 设置同步 将本地 VS Code 的设置、键盘快捷键、代码片段和扩展同步到代码空间编辑器。
请参阅 自定义代码空间。
Codespaces 计费
有关 GitHub Codespaces 的价格、存储和使用情况,请参阅 GitHub Codespaces 计费。
如果您的账户没有有效的付款方式,配额耗尽后将被阻止使用。
如果您已添加有效的付款方式,支出可能会被一个或多个预算限制。请检查为您的账户设置的预算,以确保它们符合您的使用需求。参阅设置预算以控制计量产品的支出。
GitHub Codespaces 的费用始终按月计费,即使您的账户在其他情况下采用年度计费。有关组织所有者和计费管理员如何为组织管理 GitHub Codespaces 支出上限的信息,请参阅 为计量产品设置预算以控制支出。