Skip to main content

Creating a template repository

You can make an existing repository a template, so you and others can generate new repositories with the same directory structure, branches, and files.

Who can use this feature?

Anyone with admin permissions to a repository can make the repository a template.

About template repositories

You can create a template from an existing repository. Anyone with access to the template repository can create a new repository based on the template with the same directory structure, branches, and files..

Creating a template repository

To create a template repository, you must create a repository, then make the repository a template. For more information about creating a repository, see "Creating a new repository."

After you make your repository a template, anyone with access to the repository can generate a new repository with the same directory structure and files as your default branch. They can also choose to include all the other branches in your repository. Branches created from a template have unrelated histories, so you cannot create pull requests or merge between the branches. For more information, see "Creating a repository from a template."

Note: Your template repository cannot include files stored using Git LFS.

Note: You can use a template repository as starter code for an assignment on GitHub Classroom. For more information, see "Create an assignment from a template repository."

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

  2. Under your repository name, click Settings. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. Select Template repository.