gh repo clone

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

Clone a GitHub repository locally. Pass additional git clone flags by listing them after "--".

If the "OWNER/" portion of the "OWNER/REPO" repository argument is omitted, it defaults to the name of the authenticating user.

If the repository is a fork, its parent repository will be added as an additional git remote called "upstream". The remote name can be configured using --upstream-remote-name. The --upstream-remote-name option supports an "@owner" value which will name the remote after the owner of the parent repository.


-u, --upstream-remote-name <string>
Upstream remote name when cloning a fork

See also

In use

Using OWNER/REPO syntax

You can clone any repository using OWNER/REPO syntax.

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

Using other selectors

You can also use GitHub URLs to clone repositories.

# Cloning a repository
~/Projects/my-project$ gh repo clone
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.