Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Sobre bifurcações

Um fork é um novo repositório que compartilha configurações de código e visibilidade com o repositório "upstream" original.

Sobre bifurcações

Os forks permitem fazer alterações em um projeto sem afetar o repositório original, também conhecido como repositório "upstream". Após criar fork em um repositório, você pode buscar atualizações do repositório upstream para manter seu fork atualizado e propor alterações do fork para o repositório upstream com solicitações de pull. Um fork pode pertencer a uma conta pessoal ou a uma organização.

Quando você exibe um repositório bifurcado em GitHub Enterprise Server, o repositório upstream é indicado abaixo do nome do fork.

Captura de tela da página de um repositório no GitHub. Abaixo do nome do repositório, "mona/docs", o texto "bifurcado do github/docs" é realçado em laranja.

Em projetos de código aberto, os forks são usados com frequência para iterar ideias ou alterações antes que elas sejam incorporadas ao repositório upstream. Se você bifurcar um repositório público para sua conta pessoa, fazer alterações e abrir uma solicitação de pull para propor suas alterações para o repositório upstream, você pode dar a qualquer pessoa que tenha acesso push ao repositório upstream a permissão para efetuar push de alterações no seu branch de solicitação de pull (incluindo apagar o 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 solicitação de pull 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. Para obter mais informações, confira "Permitir alterações em um branch de pull request criado a partir de bifurcação".

Excluir uma bifurcação não exclui o repositório upstream original. Você pode fazer as alterações desejadas no fork e não haverá efeitos práticos no repositório upstream. Por exemplo, você pode adicionar colaboradores, renomear arquivos ou gerar GitHub Pages no fork sem afetar o repositório upstream. Se você excluir um repositório privado, todas as bifurcações do repositório serão excluídas.

Sobre a criação de forks

Você poderá criar forks de um repositório privado ou interno para sua conta pessoal ou para uma organização em sua instância do GitHub Enterprise Server, em que você tem permissão para criar repositórios, contanto que as configurações do repositório e das políticas corporativas permitam a criação de forks. Em geral, você pode criar fork em qualquer repositório público para sua conta pessoal ou para uma organização em que tenha permissão para criar repositórios.

Para obter instruções sobre como bifurcar um repositório, confira "Bifurcar um repositório". Para obter mais informações sobre quando você pode criar forks e as configurações de permissão e visibilidade de forks, confira "Sobre permissões e visibilidade de bifurcações".

Tip: Você pode usar GitHub Desktop para bifurcar um repositório. Para obter mais informações, confira "Clonagem e bifurcar repositórios do GitHub Desktop".

Bifurcar versus duplicar um repositório

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, confira "About forks" e "Criar um repositório a partir de um modelo".

Bifurcar um repositório é semelhante à duplicação de um repositório, com as diferenças a seguir.

  • Você pode usar uma solicitação de pull para sugerir alterações do seu fork para o repositório upstream.
  • Você pode transmitir alterações do repositório upstream para o seu fork sincronizando-os entre si.
  • Os forks têm membros, branches, marcas, rótulos, políticas, problemas, solicitações de pull, discussões, ações, projetos e wikis próprios deles.
  • Os forks herdam as restrições dos repositórios upstream deles. Por exemplo, as regras de proteção de branch não podem ser transmitidas se o repositório upstream pertencer a uma organização em um plano GitHub Free.

Leitura adicional