gh-repo-create - Man Page
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