Search code examples
gitgithub

Why use a GitHub template instead of a fork?


Lately, I jumped into an e-commerce UI template from Algolia. According to GitHub, I can either fork the repository or use it as a template. The difference seems to be that a template is not made for fetching the upstream of the original repository. I am a bit confused about why I should use it as a template when I pretty much lose access to future updates. Should I not just fork the repository instead and potentially get some neat updates?


Solution

  • The difference between a fork and a template is that when you fork it's meant to preserve the history of the parent repository. Here are some of the pros/cons of each

    Fork

    Pros

    • Be able to fetch upstream
    • Able to open PRs to contribute to the head repository.

    Cons

    • Some features like visibility are unable to be changed.

    Templates

    Pros

    • Can change all settings

    Cons

    • Unable to fetch upstream
    • Able to open PRs to contribute to the head repository.