什么是代码空间?
代码空间是托管在云中的开发环境。 可通过将配置文件提交到存储库(通常称为“配置即代码”)来为 GitHub Codespaces 自定义项目,这将为项目的所有用户创建可重复的 codespace 配置。 有关详细信息,请参阅“开发容器简介”。
创建的每个 codespace 都由 GitHub 托管在虚拟机上运行的 Docker 容器中。 可以从多种虚拟机类型中选择,从 2 核、8 GB RAM 和 32 GB 存储,到最多 32 核、64 GB RAM 和 128 GB 存储。
默认情况下,codespace 基于 Ubuntu Linux 映像创建的,该映像包含各种流行语言和工具,但你可以使用基于所选 Linux 发行版的映像,并根据你的特定要求对其进行配置。 无论本地操作系统是什么,codespace 都将在 Linux 环境中运行。 远程容器不支持 Windows 和 MacOS 操作系统。
可以从浏览器、Visual Studio Code、JetBrains Gateway 应用程序或使用 GitHub CLI 连接到 codespaces。 连接时,你将位于 Docker 容器中。 你无权访问外部 Linux 虚拟主机。
GitHub Codespaces 的优势
选择在 codespace 中工作的原因包括:
- 使用预配置的开发环境 - 可以在专为存储库配置的开发环境中工作。 其中包含处理该项目所需的所有工具、语言和配置。 在 codespace 中处理该存储库的每个人都具有相同的环境。 这可降低出现环境相关问题和难以调试的可能性。 每个存储库都具有相关设置,可为参与者提供一个随时可用且可满足预期需求的环境,并且本地计算机上的环境保持不变。
- 访问所需的资源 - 本地计算机可能没有处理项目所需的处理能力或存储空间。 使用 GitHub Codespaces,可以在具有足够资源的计算机上远程工作。
- 在任意位置工作 - 只需一个 Web 浏览器即可。 可以使用自己的计算机、朋友的笔记本电脑或平板电脑在 codespace 中工作。 打开 codespace,使用其他设备从离开的位置继续。
- 选择编辑器 - 在 VS Code Web 客户端的浏览器中工作,或从一系列基于桌面的应用程序中进行选择。
- 处理多个项目 - 可以使用多个 codespace 处理单独的项目或同一存储库的不同分支,对工作进行分区,以避免对一项工作进行的更改意外影响你正在处理的其他内容。
- 将计划与团队成员配对 - 如果在 VS Code 的 codespace 中工作,可以使用 Live Share 与团队中的其他人协作。 有关详细信息,请参阅“在 codespace 中协同工作”。
- 从 codespace 发布 Web 应用 - 从 codespace 转发端口,然后共享 URL,让团队成员可以在你在拉取请求中提交对应用程序进行的更改之前,先试用这些更改。
- 试用框架 - GitHub Codespaces 可减少想要学习新框架时的设置时间。 只需从某个快速启动模板创建一个 codespace 即可。
使用 GitHub Codespaces
要开始使用基于云的计算资源进行开发,可以通过模板或存储库中的任何分支或提交创建 codespace。 通过模板创建 codespace 时,可以从空白模板开始,也可以选择适合你正在做的工作的模板。
若要开始使用 GitHub Codespaces,请参阅“GitHub Codespaces 快速入门”。 有关创建 codespace 的详细信息,请参阅“为存储库创建 codespace”或“通过模板创建 codespace”。 如果要返回到已创建的 codespace,请参阅“打开现有 codespace”。 若要详细了解 GitHub Codespaces 的工作原理,请参阅“深入了解 GitHub Codespaces”。
使用个人帐户拥有的 codespaces
所有个人 GitHub.com 帐户都有免费或专业版计划中包含的 GitHub Codespaces 的每月免费使用配额。 无需更改任何设置或提供付款详细信息,即可在个人帐户上开始使用 GitHub Codespaces。
如果通过组织拥有的存储库创建 codespace,则 codespace 的使用按照组织(如果组织对此进行了配置)或个人帐户进行计费。
通过提供付款详细信息和设置支出限制,可以在超出每月包含的存储空间和计算使用量后继续使用 GitHub Codespaces。 有关详细信息,请参阅“关于 GitHub Codespaces 的计费”。
使用组织拥有的 codespaces
GitHub Team 和 GitHub Enterprise 计划的组织所有者可以为其成员和协作者对 GitHub Codespaces 的使用付费。 这适用于通过组织拥有的存储库创建的 codespaces。 有关详细信息,请参阅“选择谁拥有组织中的 codespace 并为其付费”。 可以对组织或企业帐户上的 GitHub Codespaces 使用设置支出限制。 有关详细信息,请参阅“管理 GitHub Codespaces 的支出限制”。
如果按照组织或企业对 codespace 的使用进行计费,则会在创建 codespace 时显示。 有关详细信息,请参阅“为存储库创建 codespace”。 按照组织或其父企业计费的 codespace 归组织所有,且可被组织所有者删除。 有关详细信息,请参阅“删除代码空间”。
能否从组织拥有的存储库创建 codespace 取决于多个因素,包括存储库的可见性以及组织或其父企业的设置。 有关详细信息,请参阅“codespace 的创建和删除故障排除”。
自定义 GitHub Codespaces
若要自定义 codespace 中的运行时和工具,可以为存储库创建一个或多个开发容器配置。 将开发容器配置添加到存储库后,可以定义适合用户将在存储库中执行的工作的不同开发环境选择。
如果通过没有任何开发容器配置的存储库创建 codespace,GitHub Codespaces 会将存储库克隆到具有默认 codespace 映像的环境中,该映像包含许多工具、语言和运行时环境。 如果通过模板创建 codespace,则可以从默认映像之上的一些初始配置开始。 有关详细信息,请参阅“开发容器简介”。
可使用公共点文件存储库对 codespace 环境的各个方面进行个性化设置。 可使用点文件设置 shell 别名和首选项,也可安装喜欢使用的工具的个人首选项。 如果在浏览器或 Visual Studio Code 中使用 GitHub Codespaces,则可以使用设置同步为 codespace 编辑器提供在本地安装 Visual Studio Code 中设置的相同设置、键盘快捷方式、片段和扩展。
有关详细信息,请参阅“自定义代码空间”。
Codespaces
的计费
有关 GitHub Codespaces 的定价、存储和使用情况信息,请参阅“关于 GitHub Codespaces 的计费”。
注意:必须为个人、组织或企业帐户设置非零支出限制,然后才能向帐户对 GitHub Codespaces 的使用进行计费。
默认情况下,所有帐户的 GitHub Codespaces 支出限制为 0 美元。 这可以防止创建新的 codespace 或打开现有 codespace,如果执行这些操作,将对个人、组织或企业帐户产生可计费成本。 对于个人帐户,如果你有权创建 codespace,只要帐户还没有达到其每月包含的使用量限制,就可以执行此操作。 对于组织和企业,默认支出限制意味着,要允许用户创建向组织或其父企业计费的 codespace,必须将限制更改为高于 0 美元的值。
始终按月计算 GitHub Codespaces 的费用,即使你的帐户按年计费也是如此。 有关组织所有者和计费管理员如何管理组织的 GitHub Codespaces 支出限制的信息,请参阅“管理 GitHub Codespaces 的支出限制”。