Bifurcar um repositório é semelhante a copiar um repositório, com duas grandes diferenças:
- Você pode usar uma pull request para sugerir alterações da sua bifurcação user-owned para o repositório original, também conhecido como o repositório upstream.
- 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."
Excluir uma bifurcação não exclui o repositório upstream original. Você pode fazer quaisquer alterações que quiser em sua bifurcação — adicionar colaboradores, renomear arquivos, gerar GitHub Pages— sem efeito no original.
Em projetos de código aberto, as bifurcações são usadas com frequência para iterar ideias ou alterações antes que elas sejam oferecidas de volta ao repositório upstream. Ao fazer alterações em sua bifurcação user-owned e abrir uma pull request que compara seu trabalho com o repositório upstream, você pode dar a qualquer pessoa com acesso push ao repositório upstream permissão para fazer push das alterações no seu branch de pull requests. Isso agiliza a colaboração ao permitir que os mantenedores de repositório façam commits ou executem testes localmente em seu branch de pull requests a partir de uma bifurcação de propriedade do usuário antes de fazer merge. Você não pode dar permissões de push a uma bifurcação de propriedade de uma organização.
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".