A GitHub fork carries the parent repository’s commit history, while a repository created from a template starts with a single commit. Use the distinction to decide whether you want to contribute to an existing project or begin a new one. A template can include only the default branch or, optionally, all branches; having similar files does not mean having the same history.
What do you want to keep?
| Decision | Fork | Create from a template |
|---|---|---|
| Parent history | Retains parent commits | Starts with one commit |
| Project goal | Contribute to an existing project | Begin a new project from prepared files |
| Relationship | Separate repository connected upstream | Similar files do not establish a fork relationship |
| Template branch choice | This is not an all-branches fork tutorial | Default branch files, or optionally all branches |
GitHub requires read access to use a template repository. For forks, repository, organization and enterprise policies can restrict availability and destinations. This guide has not checked your account’s permissions.
All branches is not shared history
GitHub lets a template supply the default branch’s directory structure and files, or optionally all branches. Its template-created branches have unrelated histories. This is a history distinction, not a tutorial on combining unrelated histories or troubleshooting pull requests.
A fork is a separate repository with its own settings and collaboration space. A branch lives within a repository. The upstream connection does not establish that any synchronization has happened.
Check before creating anything
Use these blank decisions for your own project:
- Goal: contribute back / start new / not decided.
- Need the previous commits: yes / no / not checked.
- Template content: default branch / all branches / not checked.
- Read access and forking permissions: not verified here.
- Licence, secrets, automation and deployment readiness: not assessed here.
These are questions to resolve, not a completed repository inspection or permission to reuse every file.
Questions this guide answers
Does Use this template keep the old commit history?
A new template-based repository starts with one commit. GitHub contrasts that with a fork retaining its parent’s history.
Can a template include more than the default branch?
Yes. Including all branches is optional; the resulting template-created branches have unrelated histories.
Does an upstream connection mean my fork updates itself?
This guide has not verified or promised automatic updates. The official fork description establishes a connection, not a completed sync action.
Sources and limits
Read GitHub’s template creation documentation and fork reference before choosing a repository action.
The English official pages were observed on 22 October 2026 at 10:27:38 and 10:27:39 KST respectively. No repository was created, forked, cloned or deployed for this guide. No commands, private permissions, licence compliance, security or backup completeness were tested. This article contains no affiliate link.