Forking a repository is similar to copying a repository, with two major differences:
- You can use a pull request to suggest changes from your user-owned fork to the original repository, also known as the upstream repository.
- Você pode transmitir alterações do repositório upstream para a sua bifurcação local sincronizando a bifurcação com o repositório upstream.
You can fork any public repository to your user account or any organization where you have repository creation permissions. Para obter mais informações, consulte "Níveis de permissão para uma organização".
You can fork any private repository you can access to your user account and any organization on GitHub Team or GitHub Enterprise where you have repository creation permissions. You cannot fork a private repository to an organization using GitHub Free.
You can use GitHub Desktop to fork a repository. For more information, see “Cloning and forking repositories from GitHub Desktop."
Deleting a fork will not delete the original upstream repository. 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 repository. When you make changes in your user-owned fork and open a pull request that compares your work to the upstream repository, you can give anyone with push access to the upstream repository permission to push changes to your pull request branch. This speeds up collaboration by allowing repository maintainers the ability to make commits or run tests locally to your pull request branch from a user-owned fork before merging. You cannot give push permissions to a fork owned by an organization.
Private forks inherit the permissions structure of the upstream or parent repository. For example, if the upstream repository is private and gives read/write access to a team, then the same team will have read/write access to any forks of the private upstream repository. This helps owners of private repositories maintain control over their code.
Se desejar criar um novo repositório a partir do conteúdo de um repositório existente, mas não quiser fazer merge do upstream de alterações no futuro, você poderá duplicar o repositório ou, se o repositório for um modelo, usar o repositório como um modelo. Para obter mais informações, consulte "Duplicar um repositório" e "Criar um repositório de um modelo".