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. For more information, see "Permission levels for an organization."
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.
Você pode usar GitHub Desktop para bifurcar um repositório. Para obter mais informações, consulte “Clonagem e bifurcação de repositórios de GitHub Desktop".
Excluir uma bifurcação não exclui o repositório upstream original. Você pode fazer as alterações que desejar na 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.
As bifurcações privadas herdam a estrutura de permissões do repositório ascendente ou principal. Por exemplo, se o repositório ascendente é privado e fornece acesso de leitura/gravação a uma equipe, essa equipe terá acesso de leitura/gravação para qualquer bifurcação do repositório privado ascendente. Isso ajuda os proprietários de repositórios privados a manter o controle sobre seus códigos.
Se você desejar criar um novo repositório a partir do conteúdo de um repositório existente, mas não desejar mesclar suas alterações a montante no futuro, Você pode duplicar o repositório ou, se o repositório for um modelo, você poderá 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".