gh repo clone

gh repo clone <repository> [<directory>] [-- <gitflags>...]

在本地克隆 GitHub 仓库。通过在 -- 后列出它们来传递额外的 git clone 标志。

如果省略了 OWNER/REPO 仓库参数中的 OWNER/ 部分,它将默认为身份验证用户的名称。

当仓库参数中未提供协议方案时,将从您的配置中选择 git_protocol,可以通过 gh config get git_protocol 检查。如果提供了协议方案,则将使用指定的协议克隆仓库。

如果仓库是 fork,则其父仓库将作为名为 upstream 的额外 git 远程添加。远程名称可以使用 --upstream-remote-name 进行配置。 --upstream-remote-name 选项支持 @owner 值,该值将根据父仓库的所有者命名远程。

如果仓库是 fork,则其父仓库将被设置为默认的远程仓库。

选项

-u, --upstream-remote-name <string> (default "upstream")
克隆 fork 时的上游远程名称

示例

# Clone a repository from a specific org
$ gh repo clone cli/cli

# Clone a repository from your own account
$ gh repo clone myrepo

# Clone a repo, overriding git protocol configuration
$ gh repo clone https://github.com/cli/cli
$ gh repo clone [email protected]:cli/cli.git

# Clone a repository to a custom directory
$ gh repo clone cli/cli workspace/cli

# Clone a repository with additional git clone flags
$ gh repo clone cli/cli -- --depth=1

另请参阅

使用中

使用 OWNER/REPO 语法

您可以使用 OWNER/REPO 语法克隆任何仓库。

# Cloning a repository
~/Projects$ gh repo clone cli/cli
Cloning into 'cli'...
~/Projects$ cd cli
~/Projects/cli$

使用其他选择器

您也可以使用 GitHub URL 来克隆仓库。

# Cloning a repository
~/Projects/my-project$ gh repo clone https://github.com/cli/cli
Cloning into 'cli'...
remote: Enumerating objects: 99, done.
remote: Counting objects: 100% (99/99), done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 21160 (delta 49), reused 35 (delta 18), pack-reused 21061
Receiving objects: 100% (21160/21160), 57.93 MiB | 10.82 MiB/s, done.
Resolving deltas: 100% (16051/16051), done.

~/Projects/my-project$