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.

Any user or organization on GitHub Enterprise can fork a repository. Forking a repository is similar to copying another repository, with two major differences:

  • You can use a pull request to suggest changes from your fork to the original repository, also known as the upstream repository.
  • You can bring changes from the upstream repository to your local fork by synchronizing your fork with the upstream repository.

Deleting a fork does not delete the original upstream repository. In fact, you can make any changes you want to your fork--add collaborators, rename files, generate GitHub Pages--with no effect on the original.

In open source projects, forks are often used to iterate on ideas or changes before they are offered back to the upstream for everyone to benefit from.