关于为仓库创建 Codespace
你可以在 GitHub、Visual Studio Code 或使用 GitHub CLI 创建 Codespace。使用本文中的选项卡显示每种创建 Codespace 方式的说明。
你可以在你的个人 GitHub 帐户上使用 GitHub Codespaces,每月免费使用配额包含在免费版和专业版计划的帐户中。通过提供付款详细信息并设置支出限额,你可以在每月包含的存储和计算使用量之外继续使用 GitHub Codespaces。请参阅“关于 GitHub Codespaces 的计费”。
组织可以允许成员和外部协作者以组织的费用创建和使用 Codespaces。有关更多信息,请参阅“选择谁拥有和支付组织中的 Codespaces”。
您从组织拥有的存储库创建 Codespaces 的能力取决于几个因素,包括存储库的可见性和组织或其父企业设置。有关更多信息,请参阅“Codespaces 创建和删除故障排除”。
如果您要启动一个新项目,您可能希望从模板创建 Codespace,并稍后发布到 GitHub 上的存储库。有关更多信息,请参阅“从模板创建 Codespace”。
注意
如果您使用 JetBrains IDE,则可以使用 GitHub CLI 创建 Codespace。然后,您可以使用 JetBrains Gateway 应用程序在 JetBrains IDE 中打开 Codespace。有关更多信息,请参阅“在 JetBrains IDE 中使用 GitHub Codespaces”。
如果您从存储库创建 Codespace,则该 Codespace 将与特定分支关联,该分支不能为空。您可以在每个存储库甚至每个分支中创建多个 Codespace。
您可以在“您的 Codespaces”页面上查看您创建的每个可用 Codespace。要显示此页面,请在 GitHub 的左上角选择,然后单击 Codespaces。这将带您到 github.com/codespaces。
Codespace 创建过程
创建 Codespace 时,会执行许多步骤来创建并连接到您的开发环境
- 步骤 1:为您的 Codespace 分配虚拟机和存储。
- 步骤 2:创建容器并克隆您的存储库。
- 步骤 3:您可以连接到 Codespace。
- 步骤 4:Codespace 继续进行创建后设置。
有关创建 Codespace 时发生情况的更多信息,请参阅“深入了解 GitHub Codespaces”。
有关 Codespace 生命周期的信息,请参阅“了解 Codespace 生命周期”。
如果您想为您的 Codespace 使用 Git 钩子,则应使用devcontainer.json
生命周期脚本(例如postCreateCommand
)设置钩子。这些会在上面的步骤 4 中执行。有关生命周期脚本的信息,请参阅开发容器网站上的开发容器规范。由于您的 Codespace 的开发容器是在克隆存储库后创建的,因此在开发容器映像中配置的任何git 模板目录都不会应用于您的 Codespace。相反,必须在创建 Codespace 后安装钩子。
您可以在使用 VS Code 进行开发时编辑代码、调试和使用 Git 命令。有关更多信息,请参阅VS Code 文档。
为了加快 Codespace 创建速度,存储库管理员可以为存储库启用 GitHub Codespaces 预构建。有关更多信息,请参阅“关于 GitHub Codespaces 预构建”。
为存储库创建 Codespace
-
在 GitHub 上,导航到存储库的主页。
-
在存储库名称下,选择分支下拉菜单(标有当前分支的名称),然后单击要为其创建 Codespace 的分支。
-
单击 代码按钮,然后单击“Codespaces”选项卡。
对话框底部会显示一条消息,告诉您谁将支付 Codespace 的费用。
-
创建您的 Codespace,可以使用默认选项,也可以在配置高级选项后创建。
-
使用默认选项
要使用默认选项创建 Codespace,请单击.
-
配置高级选项
要配置 Codespace 的高级选项,例如不同的机器类型或特定的
devcontainer.json
文件-
在“Codespaces”选项卡的右上方,选择并单击“使用选项新建”。
-
在 Codespace 的选项页面上,从下拉菜单中选择您首选的选项。
选项页面也可能会显示一个或多个建议您在 Codespaces 设置中创建的密钥的名称。有关更多信息,请参阅“推荐密钥”。
注意
- 您可以将选项页面添加为书签,以便快速创建此存储库和分支的 Codespace。
- https://github.com/codespaces/new 页面提供了一种快速为任何存储库和分支创建 Codespace 的方法。您可以通过在浏览器的地址栏中键入
codespace.new
快速访问此页面。 - 有关开发容器配置文件的更多信息,请参阅“开发容器简介”。
- 有关机器类型的更多信息,请参阅“更改 Codespace 的机器类型”。
- 您可用的机器类型选择可能会受到多种因素的限制。这些可能包括为您的组织配置的策略,或存储库的最小机器类型规范。有关更多信息,请参阅“限制对机器类型的访问”和“设置 Codespace 机器 的最小规格”。
-
单击“创建 Codespace”。
-
-
推荐密钥
在您创建 Codespace 时,用户定义密钥的名称可能会显示在高级选项页面上。如果您选择了推荐密钥已在其中指定的开发容器配置,则会出现这种情况。有关更多信息,请参阅“为存储库指定推荐密钥”。
![Screenshot of the "Create codespace" page with four recommended secrets highlighted with a dark orange outline.](/assets/cb-146520/images/help/codespaces/recommended-secrets.png)
当系统提示您输入这些开发环境密钥的值时,建议您输入,因为您的项目很可能需要这些密钥的值。但是,您无需提供值即可创建 Codespace。如果您愿意,可以在 Codespace 中设置这些密钥。
如果您输入了推荐密钥的值,则该密钥将在新的 Codespace 中可用。当您单击“创建 Codespace”时,该密钥也会添加到您用于 Codespaces 的个人设置中,因此在将来为该存储库创建 Codespace 时,您无需输入该密钥的值。
如果密钥的名称显示为不可选的复选框,并且没有输入框,则表示您已在用于 Codespaces 的个人设置中配置了此名称的密钥,并且已将其与该存储库关联。如果您已创建此名称的密钥但未将其与该存储库关联,则该复选框将可用,您可以选择它来更新您的设置以添加关联。
如果您想更改预选密钥的值,您可以从 github.com/settings/codespaces 上的 Codespaces 个人设置中执行此操作。有关更多信息,请参阅“管理您用于 GitHub Codespaces 的帐户特定密钥”。
将您在 GitHub 上的帐户连接到 GitHub Codespaces 扩展程序后,您可以创建一个新的 Codespace。有关 GitHub Codespaces 扩展程序的更多信息,请参阅VS Code Marketplace。
-
在 VS Code 中,在“活动栏”中,单击“远程资源管理器”图标。
注意
如果“活动栏”中未显示“远程资源管理器”
- 访问“命令面板”。例如,按Shift+Command+P(Mac)/Ctrl+Shift+P(Windows/Linux)。
- 键入:
details
。 - 单击“Codespaces:详细信息”。
-
将鼠标悬停在“远程资源管理器”侧边栏上并单击.
-
在文本框中,键入您要开发的存储库的名称,然后选择它。
后续提示的右侧会显示一条消息,告诉您谁将支付 Codespace 的费用。
-
单击您要开发的分支。
-
如果系统提示您选择开发容器配置文件,请从列表中选择一个文件。
-
单击您要使用的机器类型。
注意
您可用的机器类型选择可能会受到多种因素的限制。这些可能包括为您的组织配置的策略,或存储库的最小机器类型规范。有关更多信息,请参阅“限制对机器类型的访问”和“设置 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
替换为可用机器类型的有效标识符。标识符是字符串,例如:basicLinux32gb
和standardLinux32gb
。可用的机器类型取决于存储库、您的个人帐户和您的位置。如果您输入无效或不可用的机器类型,则错误消息中会显示可用的类型。如果您省略此标志且有多个机器类型可用,则系统会提示您从列表中选择一个。
有关此命令选项的完整详细信息,请参阅GitHub CLI 手册。