Forks are often used in open source development on GitHub.

About forks

A fork is a copy of a repository that you manage. Forks let you make changes to a project without affecting the original repository. You can fetch updates from or submit changes to the original repository with pull requests.

Syncing a fork

Sync a fork of a repository to keep it up-to-date with the upstream repository.

Configuring a remote for a fork

You must configure a remote that points to the upstream repository in Git to sync changes you make in a fork with the original repository. This also allows you to sync changes made in the original repository with the fork.

Merging an upstream repository into your fork

If you don't have push (write) access to an upstream repository, then you can pull commits from that repository into your own fork.

Allowing changes to a pull request branch created from a fork

For greater collaboration, you can allow commits on branches you've created from forks. Permission to commit to your forked branches is limited to those with push access to the upstream repository of the fork.

What happens to forks when a repository is deleted or changes visibility?

This article explains how deleting your repository or changing its visibility affects that repository's forks.