gh codespace cp

gh codespace cp [-e] [-r] [-- [<scp flags>...]] <sources>... <dest>

cp 命令在本地和远程文件系统之间复制文件。

与 UNIX cp 命令一样,第一个参数指定源,最后一个参数指定目标;如果目标是目录,则可以在第一个参数之后指定其他源。

如果任何源是目录,则需要 --recursive 标志。

任何文件名参数上的 remote: 前缀表示它引用远程(Codespace)机器的文件系统。它相对于远程用户的 home 目录解析。

默认情况下,远程文件名按字面意义解释。使用 --expand 标志时,每个此类参数都会以 scp 的方式处理,作为在远程机器上评估的 Bash 表达式,受波浪号、花括号、通配符、环境变量和反引号的扩展影响。出于安全考虑,不要将此标志与不受信任用户提供的参数一起使用;有关讨论,请参见 https://lwn.net/Articles/835962/

默认情况下,cp 命令将在 ~/.ssh directory 中创建一个公钥/私钥 ssh 密钥对,以对 codespace 进行身份验证。

选项

-c, --codespace <string>
Codespace 的名称
-e, --expand
在远程 shell 上展开远程文件名
-p, --profile <string>
要使用的 SSH 配置文件的名称
-r, --recursive
递归地复制目录
-R, --repo <string>
按存储库名称(user/repo)筛选 codespace 选择
--repo-owner <string>
按存储库所有者(用户名或组织)筛选 codespace 选择

示例

$ gh codespace cp -e README.md 'remote:/workspaces/$RepositoryName/'
$ gh codespace cp -e 'remote:~/*.go' ./gofiles/
$ gh codespace cp -e 'remote:/workspaces/myproj/go.{mod,sum}' ./gofiles/
$ gh codespace cp -e -- -F ~/.ssh/codespaces_config 'remote:~/*.go' ./gofiles/

另请参见