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 owned by your user account.
What happens to forks when a repository is deleted or changes visibility?→
Deleting your repository or changing its visibility affects that repository's forks.