Skip to main content

Working with forks

Forks are often used in open source development on GitHub.

About forks

A fork is a new repository that shares code and visibility settings with the original “upstream” repository.

Fork a repository

A fork is a new repository that shares code and visibility settings with the original “upstream” repository.

About permissions and visibility of forks

The permissions and visibility of forks depend on whether the upstream repository is public or private, and whether it is owned by an organization.

Configuring a remote repository 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.

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 personal 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.

Detaching a fork

You can delete a fork and recreate the same repository, without the connection to the original network.