Skip to main content

Bifurcar um repo

Uma bifurcação é uma cópia de um repositório. Bifurcar um repositório permite que você faça experiências à vontade sem comprometer o projeto original.

Members of an enterprise with managed users cannot fork repositories from outside of the enterprise or fork internal repositories.

Sobre bifurcações

Mais comumente, as bifurcações são usadas para propor mudanças no projeto de outra pessoa ao qual você não tem acesso de gravação, ou para usar o projeto de outra pessoa como ponto de partida para sua própria ideia. Você pode bifurcar um repositório para criar uma cópia do repositório e fazer alterações sem afetar o repositório upstream. Para obter mais informações, consulte "Trabalhando com as bifurcações".

Proponha mudanças no projeto de outra pessoa

Por exemplo, você pode usar bifurcações para propor alterações relacionadas à correção de um bug. Em vez de registrar um problema para um erro que você encontrou, você pode:

  • Bifurcar o repositório.
  • Fazer a correção.
  • Enviar um pull request ao proprietário do projeto.

Use o projeto de outra pessoa como ponto de partida para sua própria ideia.

O software de código aberto baseia-se na ideia de que ao compartilhar códigos, podemos criar softwares melhores e mais confiáveis. Para obter mais informações, consulte "Sobre a Iniciativa Open Source" em Iniciativa Open Source.

Para obter mais informações sobre a aplicação dos princípios de código aberto ao trabalho de desenvolvimento da sua organização em GitHub.com, consulte o white paper de GitHub "Uma introdução ao innersource."

Ao criar um repositório público a partir de uma bifurcação do projeto de outra pessoa, confirme que incluiu um arquivo de licença que estabelece como você quer que seu projeto seja compartilhado com outros. Para obter mais informações, consulte Escolha uma licença de código aberto" em choosealicense.com.

Para mais informações sobre código aberto, especificamente como criar e crescer um projeto de código aberto, Criamos Guias em Código Aberto que ajudarão você a fomentar uma comunidade de código aberto saudável, recomendando as melhores práticas para a criação e manutenção de repositórios para seu projeto de código aberto. Você também pode participar de um curso gratuito GitHub Skills sobre a manutenção de comunidades de código aberto.

Pré-requisitos

Se ainda não o fez, primeiro configure o Git. Lembre-se também de configurar a autenticação para GitHub.com a partir do Git.

Bifurcar um repositório

Você pode bifurcar um projeto para propor alterações no repositório upstream ou original. Nesse caso, uma boa prática é sincronizar regularmente sua bifurcação com o repositório upstream. Para isso, é necessário usar Git na linha de comando. Você pode praticar configurando o repositório upstream com o mesmo repositório octocat/Spoon-Knife que você acabou de bifurcar.

  1. Em GitHub.com, acesse o repositório octocat/Spoon-Knife.
  2. No canto superior direito da página, clique em Bifurcação. Botão Fork (Bifurcação)
  3. Selecione um proprietário para o repositório bifurcado. Crie uma nova página de bifurcação com o menu suspenso do proprietário destacado
  4. Por padrão, as bifurcações recebem os mesmos nomes dos seus repositórios principais. Você pode mudar o nome da bifurcação para distingui-lo ainda mais. Criar uma nova página de bifurcação com o campo de nome do repositório enfatizado
  5. Opcionalmente, adicione uma descrição da sua bifurcação. Criar uma nova página de bifurcação com o campo de descrição destacado
  6. Escolha se deseja copiar apenas a branch padrão ou todos os branches para a nova bifurcação. Para muitos cenários de bifurcação, como contribuir para projetos de código aberto, você só precisa copiar o branch padrão. Por padrão, apenas o branch padrão é copiado. Opção para copiar apenas o branch padrão
  7. Clique em Criar bifurcação. Botão criar bifurcação destacado

Observação: Se você deseja copiar branches adicionais a partir do repositório principao, você pode fazer isso na página Branches. Para obter mais informações, consulte "Criar e excluir branches em seu repositório".

Para saber mais sobre GitHub CLI, consulte "Sobre GitHub CLI."

Para criar a bifurcação de um repositório, use o subcomando gh repo fork.

gh repo fork repository

Para criar a bifurcação em uma organização, use o sinalizador --org.

gh repo fork repository --org "octo-org"

Clonando o seu repositório bifurcado

Agora, você tem uma bifurcação do repositório Spoon-Knife, mas você não tem os arquivos nesse repositório localmente no seu computador.

  1. Em GitHub.com, acesse a sua bifurcaçãofork do repositório Spoon-Knife.

  2. Acima da lista de arquivos, clique em código. Botão de "Código"

  3. Copy the URL for the repository.

    • To clone the repository using HTTPS, under "HTTPS", click .
    • Para clonar o repositório usando uma chave SSH, incluindo um certificado emitido pela autoridade de certificação SSH da sua organização, clique em SSH e, em seguida, clique em .
    • To clone a repository using GitHub CLI, click GitHub CLI, then click . O ícone da área de transferência para copiar a URL para clonar um repositório com o CLI do GitHub
  4. Abra TerminalTerminalGit Bash.

  5. Altere o diretório de trabalho atual para o local em que deseja ter o diretório clonado.

  6. Digite git clone (clonar git) e cole a URL que você copiou anteriormente. Ficará assim, com seu GitHub Enterprise Cloud nome de usuário no lugar de YOUR-USERNAME:

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  7. Pressione Enter. Seu clone local estará criado.

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Clonando para `Spoon-Knife`...
    > remote: Contando objetos: 10, concluído.
    > remote: Compactando objetos: 100% (8/8), concluído.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

Para saber mais sobre GitHub CLI, consulte "Sobre GitHub CLI."

Para criar um clone da sua bifurcação, use o sinalizador --clone.

gh repo fork repository --clone=true
  1. No menu File (Arquivo), clique em Clone Repository (Clonar repositório).

    Opção de menu Clone (Clonar) no app Mac

    Opção de menu Clone (Clonar) no app Windows

  2. Clique na aba que corresponde à localização do repositório que você deseja clonar. Você também pode clicar URL para inserir manualmente o local do repositório.

    Guias Location (Local) no menu Clone a repository (Clonar um repositório)

    Guias Location (Local) no menu Clone a repository (Clonar um repositório)

  3. Escolha o repositório que você quer clonar na lista.

    Clonar uma lista de repositórios

    Clonar uma lista de repositórios

  4. Clique em Escolher... e acesse um caminho local onde você deseja clonar o repositório.

    Botão Choose (Escolher)

    Botão Choose (Escolher)

  5. Clique em Clone (Clonar).

    Botão Clone (Clonar)

    Botão Clone (Clonar)

Configurar o Git para sincronizar a bifurcação com o repositório original

Ao bifurcar um projeto para propor mudanças no repositório original, é possível configurar o Git para fazer pull de alterações do repositório original ou upstream no clone local de sua bifurcação.

  1. Em GitHub.com, acesse o repositório octocat/Spoon-Knife.

  2. Acima da lista de arquivos, clique em código. Botão de "Código"

  3. Copy the URL for the repository.

    • To clone the repository using HTTPS, under "HTTPS", click .
    • Para clonar o repositório usando uma chave SSH, incluindo um certificado emitido pela autoridade de certificação SSH da sua organização, clique em SSH e, em seguida, clique em .
    • To clone a repository using GitHub CLI, click GitHub CLI, then click . O ícone da área de transferência para copiar a URL para clonar um repositório com o CLI do GitHub
  4. Abra TerminalTerminalGit Bash.

  5. Mude os diretórios para a localidade da bifurcação que você clonou.

    • Para acessar seu diretório pessoal, apenas digite cd sem nenhum outro texto.
    • Para listar os arquivos e pastas em seu diretório atual, digite ls.
    • Para acessar um dos diretórios listados, digite cd your_listed_directory.
    • Para acessar um diretório, digite cd ...
  6. Digite git remote -v e pressione Enter. Você verá o repositório remote atual configurado para sua bifurcação.

    $ git remote -v
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  7. Digite git remote add upstream, cole o URL que você copiou na etapa 3 e pressione Enter. Ficará assim:

    $ git remote add upstream https://github.com/ORIGINAL_OWNER/Spoon-Knife.git
  8. Para verificar o novo repositório upstream que você especificou para sua bifurcação, digite novamente git remote -v. Você deverá visualizar a URL da sua bifurcação como origin (origem) e a URL do repositório original como upstream.

    $ git remote -v
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

Agora é possível manter a bifurcação sincronizada com o repositório upstream usando apenas alguns comandos Git. Para obter mais informações, consulte "Sincronizar uma bifurcação".

Para saber mais sobre GitHub CLI, consulte "Sobre GitHub CLI."

Para configurar um repositório remoto para o repositório bifurcado, use o sinalizador --remote.

gh repo fork repository --remote=true

Para especificar o nome do repositório remoto, use o sinalizador --remote-name.

gh repo fork repository --remote-name "main-remote-repo"

Editando uma bifurcação

Você pode fazer alterações em uma bifurcação, incluindo:

  • Criar branches: os branches permitem desenvolver novos recursos ou testar novas ideias sem colocar o projeto atual em risco.
  • Abrir pull requests: caso queira fazer contribuições no repositório original, ao enviar uma pull request, você pode solicitar que o autor do repositório original faça pull de sua bifurcação no repositório dele.

Localize outro repositório para bifurcar

Bifurque um repositório para começar a contribuir com um projeto. You can fork a private or internal repository to your personal account or an organization on GitHub.com where you have repository creation permissions, if settings for the repository and your enterprise policies allow forking.

Você pode navegar em Explorar para encontrar projetos e começar a contribuir com repositórios de código aberto. Para obter mais informações, consulte "Encontrar maneiras de contribuir para o código aberto em GitHub."

Próximos passos

Você já bifurcou um repositório, treinou clonar sua bifurcação e configurou um repositório upstream.

  • Para obter mais informações sobre a clonagem da bifurcação e sincronizar as alterações em um repositório bifurcado a partir do seu computador, consulte "Configurar o Git".

  • Você também pode criar um novo repositório onde você pode colocar todos os seus projetos e compartilhar o código em GitHub. Creating a repository for your project allows you to store code in GitHub. This provides a backup of your work that you can choose to share with other developers. For more information, see “Create a repository.""

  • Cada repositório em GitHub pertence a uma pessoa ou organização. Você pode interagir com as pessoas, repositórios e organizações, conectando-se e seguindo-as em GitHub Enterprise Cloud. For more information, see "Be social."

  • GitHub tem uma ótima comunidade de suporte onde você pode pedir ajuda e conversar com pessoas de todo o mundo. Join the conversation on GitHub Community.