Manpage logo

gh-repo-create - Create a new repository

NAME  SYNOPSIS  DESCRIPTION  OPTIONS  ALIASES  EXIT CODES  EXAMPLE  SEE ALSO 

NAME

gh-repo-create - Create a new repository

SYNOPSIS

gh repo create [<name>] [flags]

DESCRIPTION

Create a new GitHub repository.

To create a repository interactively, use gh repo create with no arguments.

To create a remote repository non-interactively, supply the repository name and one of --public, --private, or --internal. Pass --clone to clone the new repository locally.

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

To create a remote repository from an existing local repository, specify the source directory with --source. By default, the remote repository name will be the name of the source directory.

Pass --push to push any local commits to the new repository. If the repo is bare, this will mirror all refs.

For language or platform .gitignore templates to use with --gitignore, ⟨https://github.com/github/gitignore⟩.

For license keywords to use with --license, run gh repo license list or visit ⟨https://choosealicense.com⟩.

The repo is created with the configured repository default branch, see ⟨https://docs.github.com/en/account−and−profile/setting−up−and−managing−your−personal−account−on−github/managing−user−account−settings/managing−the−default−branch−name−for−your−repositories⟩.

OPTIONS

--add-readme

Add a README file to the new repository

-c, --clone

Clone the new repository to the current directory

-d, --description <string>

Description of the repository

--disable-issues

Disable issues in the new repository

--disable-wiki

Disable wiki in the new repository

-g, --gitignore <string>

Specify a gitignore template for the repository

-h, --homepage <URL>

Repository home page URL

--include-all-branches

Include all branches from template repository

--internal

Make the new repository internal

-l, --license <string>

Specify an Open Source License for the repository

--private

Make the new repository private

--public

Make the new repository public

--push

Push local commits to the new repository

-r, --remote <string>

Specify remote name for the new repository

-s, --source <string>

Specify path to local repository to use as source

-t, --team <name>

The name of the organization team to be granted access

-p, --template <repository>

Make the new repository based on a template repository

ALIASES

gh repo new

EXIT CODES

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.

EXAMPLE

# Create a repository interactively
$ gh repo create

# Create a new remote repository and clone it locally
$ gh repo create my-project --public --clone

# Create a new remote repository in a different organization
$ gh repo create my-org/my-project --public

# Create a remote repository from the current directory
$ gh repo create my-project --private --source=. --remote=upstream

SEE ALSO

gh-repo(1)


Updated 2026-06-01 - jenkler.se | uex.se