Skip to main content

Sobre bifurcações

Uma bifurcação é uma cópia de um repositório que você gerencia. As bifurcações permitem fazer alterações em um projeto sem afetar o repositório original. Você pode fazer fetch de atualizações no repositório ou enviar alterações ao repositório original com pull requests.

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.

Você pode criar um fork de um repositório para a sua conta de usuário ou para qualquer organização onde você tenha permissões de criação de repositório. Para obter mais informações, consulte "Funções em uma organização".

Se você tem acesso a um repositório privado e o proprietário permite a bifurcação, você pode criar um fork do repositório para a conta do usuário ou para qualquer organização em GitHub Team onde você tem permissões de criação de repositório. Você não pode criar um repositório privado para uma organização usando GitHub Free. Para obter mais informações, consulte "produtos do GitHub."

Se você for um integrante de um enterprise with managed users, existem outras restrições nos repositórios que você pode bifurcar. Managed users cannot fork repositories from outside of the enterprise or fork internal repositories. Managed users can fork private repositories owned by organizations in the enterprise into other organizations owned by the enterprise, or as a fork owned by the managed user.Para obter mais informações, consulte "Sobre Enterprise Managed Users

Você pode usar GitHub Desktop para bifurcar um repositório. Para obter mais informações, consulte "Clonar e bifurcar repositórios de 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. Você não pode restaurar um repositório bifurcado excluído. Para obter mais informações, consulte "Restaurar um repositório excluído".

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 na bifurcação do usuário e abrir um pull request que compara seu trabalho com o repositório upstream, você pode dar a qualquer pessoa com acesso push à permissão do repositório upstream para fazer push das alterações para seu branch de pull request (incluindo a exclusão do branch). 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. Isso ajuda os proprietários de repositórios privados a manter o controle sobre seus códigos. 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. Only team permissions (not individual permissions) are inherited by private forks.

Se você deseja criar um novo repositório a partir do conteúdo de um repositório existente, mas não quer fazer merge das suas alterações no upstream posteriormente, você poderá 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 "Duplicando um repositório" e "Criando um repositório a partir de um modelo".

Leia mais