gh-repo-clone1
Clone a repository locally
Usage
gh repo
clone
<repository>
[<directory>]
[--
<gitflags> ...]
Overview
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.
When a protocol scheme is not provided in the repository argument, the git_protocol will be chosen from your configuration, which can be checked via gh config get git_protocol. If the protocol scheme is provided, the repository will be cloned using the specified protocol.
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.
If the repository is a fork, its parent repository will be set as the default remote repository. To skip this behavior, use --no-upstream.
Options
-
--no-upstream -
Do not add an upstream remote when cloning a fork
-u,--upstream-remote-name<string> (default "upstream")-
Upstream remote name when cloning a fork
Exit status
0: Successful execution
1: Error
2: Command canceled
4: Authentication required
NOTE: Specific commands may have additional exit codes. Refer to the command's help for more information.
Examples
# 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 # Clone a fork without adding an upstream remote $ gh repo clone myfork --no-upstream
Releases
3 releases since Debian 12 (Bookworm); the text changed 2 times.
--no-upstream since Arch Linux 2026-11-01.
--upstream-remote-name until Debian 12 (Bookworm);
-u until Debian 12 (Bookworm).