Creating a repository from a template

You can generate a new repository with the same directory structure and files as an existing repository.

About repository templates

Anyone with read permissions to a template repository can create a repository from that template. For more information, see "Creating a template repository."

Tip: You can also create a repository from a template using the GitHub CLI. For more information, see "gh repo create" in the GitHub CLI documentation.

You can choose to include the directory structure and files from only the default branch of the template repository or to include all branches. Branches created from a template have unrelated histories, which means you cannot create pull requests or merge between the branches.

Creating a repository from a template is similar to forking a repository, but there are important differences:

  • A new fork includes the entire commit history of the parent repository, while a repository created from a template starts with a single commit.
  • Commits to a fork don't appear in your contributions graph, while commits to a repository created from a template do appear in your contribution graph.
  • A fork can be a temporary way to contribute code to an existing project, while creating a repository from a template starts a new project quickly.

For more information about forks, see "About forks."

Creating a repository from a template

  1. On GitHub, navigate to the main page of the repository.

  2. Above the file list, click Use this template. Use this template button

  3. Use the Owner drop-down menu, and select the account you want to own the repository. Owner drop-down menu

  4. Type a name for your repository, and an optional description. Create repository field

  5. Choose a repository visibility. For more information, see "About repository visibility." Radio buttons to select repository visibility

  6. Optionally, to include the directory structure and files from all branches in the template, and not just the default branch, select Include all branches. Include all branches checkbox

  7. Optionally, if the personal account or organization in which you're creating uses any GitHub Apps from GitHub Marketplace, select any apps you'd like to use in the repository. List of your account's GitHub Apps from GitHub Marketplace and option to grant access

  8. Click Create repository from template.

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.