10 KiB
title, shortTitle, intro, miniTocMaxHeadingLevel, versions, type, topics, redirect_from, ms.openlocfilehash, ms.sourcegitcommit, ms.translationtype, ms.contentlocale, ms.lasthandoff, ms.locfileid
| title | shortTitle | intro | miniTocMaxHeadingLevel | versions | type | topics | redirect_from | ms.openlocfilehash | ms.sourcegitcommit | ms.translationtype | ms.contentlocale | ms.lasthandoff | ms.locfileid | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 将 GitHub Codespaces 与 GitHub CLI 配合使用 | GitHub CLI | 可以使用 {% data variables.product.product_name %} 命令行界面 `gh` 直接从命令行使用 {% data variables.product.prodname_github_codespaces %}。 | 3 |
|
how_to |
|
|
e9a268273e0a6d85a17a795f593e7bd3a7885718 | 0a6e3eee6e |
HT | zh-CN | 11/14/2022 | 148163495 |
关于 {% data variables.product.prodname_cli %}
{% data reusables.cli.about-cli %} 有关详细信息,请参阅“关于 {% data variables.product.prodname_cli %}。”
可以在 {% data variables.product.prodname_cli %} 中使用 {% data variables.product.prodname_github_codespaces %} 执行以下操作:
- 列出所有代码空间
- 创建新的代码空间
- 停止 codespace
- 删除 codespace
- 重命名 codespace
- 通过 SSH 连接到 codespace
- 在 {% data variables.product.prodname_vscode %} 中打开 codespace
- 在 JupyterLab 中打开 codespace
- 将文件复制到代码空间/从代码空间复制文件
- 修改 codespace 中的端口
- 访问 codespace 日志
- 访问远程资源
- 更改 codespace 的计算机类型
安装 {% data variables.product.prodname_cli %}
{% data reusables.cli.cli-installation %}
使用 {% data variables.product.prodname_cli %}
如果尚未执行此操作,请运行 gh auth login 对 {% data variables.product.prodname_dotcom %} 帐户进行身份验证。
若要使用 gh 处理 {% data variables.product.prodname_github_codespaces %},请键入 gh codespace SUBCOMMAND 或其别名 gh cs SUBCOMMAND。
作为可用于处理 {% data variables.product.prodname_github_codespaces %} 的一系列命令的示例,您可以:
- 列出当前 codespace,检查是否有特定存储库的 codespace:
gh codespace list - 为所需的存储库分支创建新的 codespace:
gh codespace create -r github/docs -b main - 通过 SSH 连接到新的 codespace:
gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq - 将端口转发到本地计算机:
gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
{% data variables.product.prodname_github_codespaces %} 的 gh 命令
以下各节给出了每个可用操作的示例命令。
有关 {% data variables.product.prodname_github_codespaces %} 的 gh 命令的完整参考,包括每个命令的所有可用选项的详细信息,请参阅 {% data variables.product.prodname_cli %} 联机帮助以了解“gh codespace”。 或者,在命令行上,使用 gh codespace --help 获取常规帮助,或者使用 gh codespace SUBCOMMAND --help 获取特定子命令的帮助。
{% note %}
注意:与许多命令一起使用的 -c CODESPACE_NAME 标志是可选的。 如果省略它,则会显示一个代码空间列表供您选择。
{% endnote %}
列出所有代码空间
gh codespace list
该列表包含每个 codespace 的唯一名称,可在其他 gh codespace 命令中使用。
codespace 分支名称末尾的星号表示该 codespace 中存在未提交或未推送的更改。
创建新的代码空间
gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
有关详细信息,请参阅“为存储库创建 codespace”。
停止代码空间
gh codespace stop -c CODESPACE-NAME
有关详细信息,请参阅“深入了解 {% data variables.product.prodname_github_codespaces %}”。
删除代码空间
gh codespace delete -c CODESPACE-NAME
有关详细信息,请参阅“删除 codespace”。
重命名 codespace
gh codespace edit -c CODESPACE-NAME -d DISPLAY-NAME
有关详细信息,请参阅“重命名 codespace”。
SSH 到代码空间
要在远程代码空间计算机上运行命令,请从终端通过 SSH 进入代码空间。
gh codespace ssh -c CODESPACE-NAME
{% note %}
注意:{% data reusables.codespaces.ssh-server-installed %}
有关 devcontainer.json 文件和默认容器映像的详细信息,请参阅“开发容器简介”。
{% endnote %}
{% data variables.product.prodname_github_codespaces %} 在创建时将 GitHub SSH 密钥复制到代码空间中,以获得无缝的身份验证体验。 系统可能会要求您输入 SSH 密钥的密码,之后您将收到来自远程代码空间计算机的命令提示。
如果没有 SSH 密钥,请按照“生成新的 SSH 密钥并将其添加到 ssh-agent”中的说明进行操作。
在 {% data variables.product.prodname_vscode %} 中打开代码空间
gh codespace code -c CODESPACE-NAME
必须在本地计算机上安装 {% data variables.product.prodname_vscode_shortname %}。 有关详细信息,请参阅“在 {% data variables.product.prodname_vscode %} 中使用 {% data variables.product.prodname_github_codespaces %}”。
在 JupyterLab 中打开 codespace
gh codespace jupyter -c CODESPACE-NAME
{% data reusables.codespaces.jupyterlab-installed-in-codespace %}
将文件复制到代码空间/从代码空间复制文件
gh codespace cp [-r] SOURCE(S) DESTINATION
使用文件或目录名称上的前缀 remote: 来指示它位于 codespace 上。 与 UNIX cp 命令一样,第一个参数指定源,最后一个参数指定目标。 如果目标是目录,则可以指定多个来源。 如果任何源是目录,请使用 -r(递归)标志。
代码空间上文件和目录的位置相对于远程用户的主目录。
示例
-
将文件从本地计算机复制到 codespace 的
$HOME目录:gh codespace cp myfile.txt remote: -
将文件复制到代码空间中检出存储库的目录:
gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME -
将文件从代码空间复制到本地计算机上的当前目录:
gh codespace cp remote:myfile.txt . -
将三个本地文件复制到 codespace 的
$HOME/temp目录:gh codespace cp a1.txt a2.txt a3.txt remote:temp -
将三个文件从代码空间复制到本地计算机上的当前工作目录:
gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt . -
将本地目录复制到 codespace 的
$HOME目录:gh codespace cp -r mydir remote: -
将目录从代码空间复制到本地计算机,更改目录名称:
gh codespace cp -r remote:mydir mydir-localcopy
有关 gh codespace cp 命令的详细信息,包括可以使用的其他标志,请参阅 {% data variables.product.prodname_cli %} 手册。
修改代码空间中的端口
您可以将代码空间上的端口转发到本地端口。 只要进程正在运行,端口就会保持转发状态。 若要停止转发端口,请按 Control+C。
gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME
若要查看转发端口的详细信息,请输入 gh codespace ports 并选择一个 codespace。
您可以设置转发端口的可见性。 {% data reusables.codespaces.port-visibility-settings %}
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME
您可以使用一个命令设置多个端口的可见性。 例如:
gh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME
有关详细信息,请参阅“在 codespace 中转发端口。”
访问代码空间日志
您可以查看代码空间的创建日志。 输入此命令后,系统将要求您输入 SSH 密钥的密码。
gh codespace logs -c CODESPACE-NAME
有关创建日志的详细信息,请参阅“{% data variables.product.prodname_github_codespaces %} 日志”。
访问远程资源
可以使用 {% data variables.product.prodname_cli %} 扩展在 codespace 和本地计算机之间创建网桥,以便 codespace 可以访问可从计算机访问的任何远程资源。 有关使用扩展的详细信息,请参阅“使用 {% data variables.product.prodname_cli %} 访问远程资源”。
{% note %}
注意:{% data variables.product.prodname_cli %} 扩展目前为 beta 版本,可能会有变动。
{% endnote %}
更改 codespace 的计算机类型
gh codespace edit -m MACHINE-TYPE-NAME
有关详细信息,请参阅“更改 codespace 的计算机类型”的“{% data variables.product.prodname_cli %}”选项卡。