Working with forks
Forks are often used in open source development on GitHub.
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.
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.
Syncing a fork
Sync a fork of a repository to keep it up-to-date with the upstream repository.
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?
Deleting your repository or changing its visibility affects that repository's forks.