gh repo fork
gh repo fork [<repository>] [-- <gitflags>...] [flags]
Create a fork of a repository.
With no argument, creates a fork of the current repository. Otherwise, forks the specified repository.
By default, the new fork is set to be your origin
remote and any existing
origin remote is renamed to upstream
. To alter this behavior, you can set
a name for the new fork's remote with --remote-name
.
The upstream
remote will be set as the default remote repository.
Additional git clone
flags can be passed after --
.
Options
-
--clone
- Clone the fork
-
--default-branch-only
- Only include the default branch in the fork
-
--fork-name <string>
- Rename the forked repository
-
--org <string>
- Create the fork in an organization
-
--remote
- Add a git remote for the fork
-
--remote-name <string> (default "origin")
- Specify the name for the new remote
See also
In use
With no arguments
Inside a git repository, and without any arguments, we will automatically create a fork on GitHub on your account for your current directory. It will then prompt if you want to set an upstream remote.
# Create a fork for the current repository.
~/Projects/cli$ gh repo fork
- Forking cli/cli...
✓ Created fork user/cli
? Would you like to add a remote for the fork? Yes
✓ Renamed origin remote to upstream
✓ Added remote origin
~/Projects/cli$
With arguments
If you pass a repository in OWNER/REPO format, `gh` will automatically create a fork on GitHub on your account and ask if you want to clone it. This works inside or outside of a git repository.
# Create a fork for another repository.
~/Projects$ gh repo fork cli/cli
- Forking cli/cli...
✓ Created fork cli/cli
? Would you like to clone the fork? Yes
Cloning into 'cli'...
✓ Cloned fork
~/Projects$ cd cli
~/Projects/cli$
Using flags
Use flags to skip prompts about adding a git remote for the fork, or about cloning the forked repository locally.
# Skipping remote prompts using flags
~/Projects/cli$ gh repo fork --remote=false
- Forking cli/cli...
✓ Created fork user/cli
~/Projects/cli$
# Skipping clone prompts using flags
~/Projects$ gh repo fork cli/cli --clone=false
- Forking cli/cli...
✓ Created fork user/cli
~/Projects$