👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


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 recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.
Versão do artigo: Enterprise Server 2.20

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.

Neste artigo

Você conseguiu encontrar o que estava procurando?

O uso mais comum das bifurcações são propostas de mudanças no projeto de alguma outra pessoa ou o uso do projeto de outra pessoa como ponto de partida para sua própria ideia.

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 erro encontrado, é possível:

  • Bifurcar o repositório.
  • Fazer a correção.
  • Enviar uma 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.

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.

For more information on open source, specifically how to create and grow an open source project, we've created Open Source Guides that will help you foster a healthy open source community by recommending best practices for creating and maintaining repositories for your open source project. You can also take a free GitHub Learning Lab course on maintaining open source communities.

Observação: You can use GitHub Desktop to fork a repository. For more information, see “Cloning and forking repositories from GitHub Desktop."

Bifurque um exemplo de repositório

Bifurcar um repositório é um processo fácil, de duas etapas. Criamos um repositório para você usar para treinar.

  1. Em sua instância do GitHub Enterprise Server, navegue até o repositório octocat/Spoon-Knife.
  2. No canto superior direito da página, clique em Fork (Bifurcação).
    Botão Fork (Bifurcação)

Mantenha sua bifurcação sincronizada

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. Pratique configurando o repositório upstream com o mesmo repositório octocat/Spoon-Knife que você acabou de bifurcar.

Etapa 1: Configure o Git

Se ainda não o fez, primeiro configure o Git. Lembre-se também de configurar a autenticação para sua instância do GitHub Enterprise Server a partir do Git.

Etapa 2: Crie um clone local de sua bifurcação

Agora você tem uma bifurcação do repositório Spoon-Knife, mas não os arquivos daquele repositório em seu computador. Vamos criar um clone da bifurcação localmente em seu computador.

  1. Em GitHub Enterprise, vá até your fork (sua bifurcação) no repositório Spoon-Knife.

  2. Under the repository name, click Clone or download.

    Botão Clone or download (Clonar ou baixar)

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .

    Botão Clone URL (Clonar URL)

  4. Open TerminalTerminalGit Bash.

  5. Change the current working directory to the location where you want the cloned directory.

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

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

    $ git clone https://hostname/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), reutilizado 10 (delta 1)
    > Unpacking objects: 100% (10/10), concluído.

Agora você já tem uma cópia local de sua bifurcação do repositório Spoon-Knife.

Etapa 3: Configure o Git para sincronizar sua bifurcação com o repositório Spoon-Knife original

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

  1. Em GitHub Enterprise, vá até o repositório octocat/Spoon-Knife.

  2. Under the repository name, click Clone or download.

    Botão Clone or download (Clonar ou baixar)

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .

    Botão Clone URL (Clonar URL)

  4. Open TerminalTerminalGit Bash.

  5. Mude os diretórios do local que você clonou a bifurcação na Etapa 2: Crie um clone local de sua bifurcação.

    • 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://hostname/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://hostname/YOUR_USERNAME/YOUR_FORK.git (push)
  7. Digite git remote add upstream, cole a URL que você copiou na etapa 2 e pressione Enter. Ficará assim:

    $ git remote add upstream https://hostname/octocat/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://hostname/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://hostname/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://hostname/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://hostname/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".

Próximas etapas

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 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.

Comemore

Você já bifurcou um repositório, treinou clonar sua bifurcação e configurou um repositório upstream. O que quer fazer agora?

Você conseguiu encontrar o que estava procurando?

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato