Compartilhar via


Garfos

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

As bifurcações de Repositório do Git são úteis quando as pessoas querem fazer alterações experimentais, arriscadas ou secretas em uma base de código, mas essas alterações precisam ser isoladas da base de código no repositório original. Uma nova é basicamente um novo repositório remoto que compartilha o código-fonte do repositório original.

Como uma versão independente, as alterações feitas na sua bifurcação, como a adição de confirmações ou ramificações, são ocultas do repositório original. Se você quiser mesclar as alterações da base de código no repositório original, você deve criar uma solicitação de pull (PR) para solicitar a revisão e a aprovação dessas alterações.

O processo de bifurcação não transfere permissões, políticas ou pipelines de build do repositório original para a sua bifurcação.

Este artigo aborda o trabalho com bifurcações nos repositórios Git do Azure Repos e fornece links para o conteúdo do GitHub que discute como gerenciar Bifurcações em repositórios do GitHub.

Neste artigo, você aprenderá a:

  • Compartilhar código entre bifurcações
  • Escolher entre ramificações e bifurcações
  • Habilitar bifurcações de repositório
  • Criar bifurcação
  • Clonar a bifurcação localmente
  • Enviar alterações locais por push para a bifurcação
  • Criar e concluir uma PR
  • Sincronizar a bifurcação

Pré-requisitos

Categoria Requisitos
Acesso ao Projeto Membro de um projeto.
Permissões - Exibir código em projetos privados: no mínimo acesso Básico.
- Clonar ou contribuir para o código em projetos privados: Membro do grupo de segurança Colaboradores ou com permissões correspondentes no projeto.
- Definir permissões de ramo ou repositório: permissões para Gerenciar permissões para o branch ou repositório.
- Alterar o branch padrão: permissões para Editar políticas para o repositório.
- Importar um repositório: membro do grupo de segurança Administradores do projeto ou com a permissão Criar repositório no nível do projeto Git definida como Permitir. Para obter mais informações, consulte Definir permissões do Repositório do Git.
Serviços Repositório habilitado.
Ferramentas Opcional. Use comandos az repos: CLI do Azure DevOps.

Observação

Em projetos públicos, os usuários com acesso Stakeholder têm acesso total aos Repositórios do Azure, incluindo exibição, clonagem e contribuição para o código.

Categoria Requisitos
Acesso ao Projeto Membro de um projeto.
Permissões - Exibir código: no mínimo acesso Básico.
- Clonar ou contribuir para o código: Membro do grupo de segurança Colaboradores ou com permissões correspondentes no projeto.
Serviços Repositório habilitado.

Compartilhar código entre bifurcações

O repositório original geralmente é chamado de repositório upstream. Você pode criar PRs para mesclar alterações em qualquer direção: da bifurcação para upstream ou de upstream para a bifurcação. A direção mais comum é de bifurcação para upstream. As permissões, políticas, os builds e os itens de trabalho do repositório de destino serão aplicados à PR.

Escolher entre ramificações e bifurcações

Para uma pequena equipe de 2 a 5 desenvolvedores, um fluxo de trabalho de bifurcação pode não ser necessário porque todos podem trabalhar em ramificações de recursos e políticas de ramificação podem proteger a ramificação padrão. No entanto, se sua equipe expandir e superar esse arranjo, ela poderá mudar para um fluxo de trabalho de bifurcação.

Se o repositório tiver um grande número de confirmadores casuais ou pouco frequentes, como um projeto de código aberto, recomendamos o fluxo de trabalho de bifurcação. Normalmente, somente os colaboradores principais do projeto têm direitos de confirmações diretas em seu repositório. Outros colaboradores devem usar um fluxo de trabalho de bifurcação para isolar suas alterações propostas até que os colaboradores principais tenham a chance de revisar seu trabalho.

Habilitar bifurcações de repositório

Para habilitar bifurcações para um Repositório do Git do Azure Repos, consulte habilitar Bifurcações.

Para habilitar bifurcações para um repositório do GitHub, consulte Gerenciando a política de bifurcação para sua organização.

O fluxo de trabalho de bifurcação

O fluxo de trabalho de bifurcação consiste em cinco etapas descritas nas seções a seguir.

  1. Criar bifurcação
  2. Clonar a bifurcação localmente
  3. Enviar alterações locais por push para a bifurcação
  4. Criar e concluir uma PR
  5. Sincronizar a bifurcação

Criar bifurcação

As etapas a seguir descrevem como bifurcar um Repositório do Git do Azure Repos.

Observação

Para bifurcar um repositório em um projeto do Azure DevOps, tenha a permissão Criar Repositório para esse projeto. Os proprietários de repositório devem considerar a criação de um projeto dedicado para bifurcações e atribuir a permissão Criar Repositório a todos os colaboradores. Para obter mais informações sobre como definir permissões, consulte Definir permissões do Repositório do Git.

  1. No navegador da Web, navegue até o Repositório do Git do Azure Repos que você deseja bifurcar. Selecione Arquivos de > Repositório e, em seguida, escolha Bifurcação no menu de reticências para abrir a caixa de diálogo Bifurcação.

    Captura de tela do item de menu Bifurcação no menu Mais ações na página Arquivos de Repositório do Azure Repos.

  2. Na caixa de diálogo Bifurcação, nomeie o repositório bifurcado, escolha o projeto em que você deseja que a bifurcação seja criada, selecione as ramificações a serem incluídos na bifurcação e escolha Bifurcação. Você pode especificar se a bifurcação conterá todos as ramificações ou apenas a ramificação padrão. Se o repositório contiver várias ramificações do tópico, considere incluir apenas a ramificação padrão em sua bifurcação.

    Captura de tela da caixa de diálogo Bifurcação na página Arquivos de Repositório do Azure Repos.

Para obter informações sobre como bifurcar um Repositório do GitHub, consulte Bifurcar um repositório.

Clonar a bifurcação localmente

Depois de bifurcar um repositório, clone a bifurcação para criar uma cópia local em uma pasta no seu computador. Você pode clonar da linha de comando ou usando um IDE como o Visual Studio. Para obter mais informações sobre como clonar um repositório, consulte Clonar um Repositório do Git existente.

Quando você clona um repositório remoto, o Git atribui o alias origin como abreviação para a URL do repositório remoto clonado. Para conveniência, adicione outro alias chamado upstream para o repositório do qual você bifurcou, que é chamado de repositório upstream. As etapas a seguir descrevem como instalar um alias upstream.

Dica

Para sua conveniência, você pode usar os aliases origin e upstream em vez de suas URLs correspondentes em seus comandos Git.

Para adicionar um alias upstream no Visual Studio, siga estas etapas:

  1. Escolha Ferramentas > Opções na barra de menus para abrir a janela Opções. Selecione Controle do Código-Fonte > Configurações do Repositório do Git> Remotos e escolha Adicionar para abrir a caixa de diálogo Adicionar Remoto.

    Captura de tela do botão Adicionar no painel Remotos do submenu Configurações do Repositório do Git do menu Controle do Código-Fonte no Visual Studio 2019.

  2. Na caixa de diálogo Adicionar Remoto, adicione um novo remoto chamado upstream e insira a URL de clone do Git do repositório bifurcado. Em seguida, escolha Salvar.

    Captura de tela da caixa de diálogo Adicionar Remoto no Visual Studio 2019.

Enviar alterações locais por push para a bifurcação

Ao bifurcar, você cria uma versão pessoal do repositório original (o repositório original é chamado de "upstream"). A bifurcação é independente do upstream, mas compartilha o código e retém um link para o upstream, permitindo a sincronização futura. Portanto, não há nada que impeça você de trabalhar diretamente na ramificação main do clone local e, em seguida, efetuar push desse trabalho para a ramificação main da bifurcação. No entanto, geralmente é melhor usar ramificações de recursos para seu trabalho. Usando ramificações de recursos:

  • Você pode manter vários fluxos de trabalho independentes simultaneamente.

  • Você torna mais fácil para outras pessoas entenderem o trabalho que você compartilha porque esse trabalho é organizado em fluxos de trabalho distintos por ramificação.

Um fluxo de trabalho típico do Git inclui estas etapas:

  1. Criar um recurso local ou uma ramificação de correção de bugs.

  2. Fazer alterações no nova ramificação e confirmar seu trabalho. Normalmente, as pessoas fazem várias confirmações ao trabalhar em um recurso ou correção de bug.

  3. Envie por push o recurso ou a ramificação de correção de bugs para a bifurcação. A sua bifurcação tem o alias origin.

Para obter informações sobre como efetuar push de suas alterações, consulte Compartilhar código com push.

Criar e concluir uma PR

Em Azure Repos, para mesclar no repositório original as alterações que você efetuou por push na bifurcação, você pode:

  1. Criar uma PR para solicitar a revisão e a aprovação de suas alterações. Ao abrir uma PR, defina a ramificação de origem da PR como o recurso ou a ramificação de correção de bugs na bifurcação. A ramificação de destino da PR normalmente é a ramificação main do repositório bifurcado. Esse repositório é chamado de repositório upstream e tem o alias upstream.

    A captura de tela a seguir mostra o repositório de origem e a ramificação e o repositório de destino de uma PR criada no Azure Repos.

    Captura de tela das opções de ramificação de origem e de destino da PR no Azure Repos.

    Para obter mais informações sobre como criar uma PR usando o navegador, o Visual Studio ou a CLI do Azure DevOps, consulte Criar uma PR.

    Importante

    Qualquer pessoa no Project Valid Users e com a permissão para Ler no repositório de upstream pode abrir uma PR para ele. Se o repositório upstream tiver um pipeline de build de PR configurado para ser executado na criação de PR, um build será executado nas alterações introduzidas por sua PR.

  2. Para que sua PR seja concluída, todos os revisores necessários devem aprovar as alterações de PR e todas as políticas de ramificação de destino devem ser atendidas. Na aprovação e conclusão da PR, as alterações na ramificação de origem da PR serão mescladas na ramificação de destino da PR.

Para obter informações sobre como criar e concluir uma PR do GitHub, consulte Criando uma solicitação de pull e Mesclando uma solicitação de pull.

Sincronizar a bifurcação

Depois que uma PR mesclar as alterações da bifurcação na ramificação de destino do repositório upstream, você pode efetuar pull da ramificação de destino do repositório upstream para atualizar a ramificação local correspondente com as suas alterações e quaisquer alterações feitas por outros colaboradores. Então, você estará pronto para:

  • Criar um nova ramificação de recurso ou de correção de bug da ramificação local atualizado.

  • Atualizar a bifurcação enviando por push da ramificação local atualizado para origin.

Normalmente, a ramificação de destino do repositório upstream é main. Se você não estiver editando diretamente a ramificação local main (você trabalha em ramificações de recursos), então, efetuar pull da ramificação upstream upstream/main atualizará seu branch local main sem conflitos de mesclagem.

Próximas etapas