Processo de desenvolvimento usando espaço de trabalho ramificado

Espaço de trabalho ramificado é um espaço de trabalho ligado a um espaço de trabalho de origem. Permite que os programadores trabalhem em alterações num ambiente isolado, compreendam como o seu trabalho se relaciona com outros espaços de trabalho e promovam alterações de volta ao espaço principal com confiança.

A relação (ligação) entre um Branched workspace e o seu ambiente de trabalho de origem é estabelecida quando o utilizador executa o branch-out. Para os programadores de Fabric, o branch-out cria um novo ramo Git a partir do último commit do ramo atualmente conectado do ambiente de trabalho de origem. O utilizador pode então criar um novo espaço de trabalho ligado a esse novo ramo, ou usar um espaço de trabalho existente, mudando a sua ligação Git para o branch recém-criado.

Espaço de Trabalho Ramificado

A relação Branched Workspace tem várias representações visuais na interface Fabric:

  • Árvore do espaço de trabalho: Representa o espaço de trabalho de origem como o pai do espaço de trabalho ramificado

    Hierarquia de árvore de espaços de trabalho com espaços de trabalho ramificados.

  • Trilha de navegação do espaço de trabalho: Opção de navegação do espaço de trabalho ramificado para o espaço de trabalho de origem

    Trilhas ramificadas no espaço de trabalho.

  • Separador de controlo do código fonte - ramos relacionados

    Ramos associados a um espaço de trabalho ramificado.

Operação de Ramificação

Por padrão, quando uma operação de bifurcação é concluída, todos os itens do ramo de origem estão incluídos no espaço de trabalho alvo. Este comportamento pode ser alterado selecionando Selecionar itens individualmente (Pré-visualização) durante a configuração do ramo, permitindo que apenas os itens escolhidos sejam incluídos no espaço de trabalho alvo para proporcionar uma experiência de codificação mais rápida.

Como desenvolvedor de Fabric, o fluxo de ramificação seria o seguinte:

  1. Na guia Ramificações do menu Controle do código-fonte , selecione Ramificação para outro espaço de trabalho.

    Captura de tela da opção de ramificação do controle do código-fonte.

  2. Especifique se quer criar um novo espaço de trabalho ou expandir para um já existente. Especifique os nomes do novo ramo e espaço de trabalho ou selecione o espaço de trabalho existente na lista suspensa. Selecione a opção Selecionar itens individualmente (Pré-visualização) caso queira trabalhar apenas num subconjunto dos itens na área de trabalho ramificada. Verás a seguinte captura de ecrã ao criar um novo espaço de trabalho com ramificações seletivas.

Note

Ao passares para um espaço de trabalho, quaisquer itens que não sejam guardados no Git podem perder-se. Recomendamos que registe os itens que deseja manter antes de se ramificar.

Captura de ecrã de itens selecionados individualmente.

Importante

Ao expandir-se para um espaço de trabalho existente, alguns itens podem ser eliminados. Deve confirmar que compreende este risco antes de avançar com a operação

  1. Clique no botão Ramificar (os passos 4-8 aplicam-se apenas quando selecionar itens individualmente (Pré-visualização) estiver selecionado)
  2. Esta ação abre um diálogo para Selecionar itens para o seu espaço de trabalho.

Note

Se o branch Git contiver um grande número de itens, o diálogo Selecionar itens pode demorar algum tempo a carregar.

  1. Seleciona os itens que queres para este espaço de trabalho.

  2. Clique em Criar ramo. Captura de ecrã de criação de ramo.

  3. Quando realizas ramificações seletivas, todas as dependências do item são necessárias. Podes usar o botão de selecionar itens relacionados para esse propósito. Se não selecionares uma das dependências, vês o seguinte: Captura de ecrã do erro de dependência.

  4. Depois de criada a ramificação, pode verificar que está numa ramificação seletiva pelo ícone na barra de estado inferior (canto inferior esquerdo). Diz ramificação seletiva. Captura de ecrã do ícone do ramo seletivo.

  5. O Fabric cria o novo espaço de trabalho ramificado. Você é automaticamente levado para o novo espaço de trabalho. Contém todos os itens ou apenas os itens que selecionaste em caso de ramificação seletiva.

    O espaço de trabalho sincroniza com sua ramificação de recursos e se torna um ambiente isolado para trabalhar, conforme ilustrado. Agora pode trabalhar neste novo espaço de trabalho ramificado. A sincronização pode levar alguns minutos. Para obter mais informações sobre ramificação, consulte dicas de solução de problemas.

    Diagrama mostrando o processo de commits.

  6. Salve as suas alterações e cometa-as no ramo de funcionalidades.

  7. Quando estiver pronto, crie um PR para a filial principal . Os processos de revisão e fusão são feitos através do fornecedor Git relacionado, com base na configuração que a sua equipa definiu para esse repositório.

Quando a revisão e a mesclagem estiverem concluídas, um novo commit será criado na ramificação principal. Essa confirmação solicita que o usuário atualize o conteúdo no espaço de trabalho da equipe de desenvolvimento com as alterações mescladas.

Para obter mais informações, consulte Limitações de ramificação.

Como adicionar itens adicionais a um espaço de trabalho com ramificação seletiva

Quando um programador Fabric precisa de adicionar itens que não foram selecionados durante a operação de ramificação, os passos abaixo descrevem como adicionar itens adicionais ao espaço de trabalho:

  1. Vai ao espaço de trabalho obrigatório do Fabric e seleciona Controlo de Versão no topo.
  2. À direita, selecione o símbolo de branch out.
  3. Use o menu suspenso e selecione Selecionar itens adicionais.
  4. Esta ação abre um diálogo para Selecionar itens para o seu espaço de trabalho. A janela de diálogo de selecionar itens mostra apenas os itens do branch git que não foram previamente selecionados.
  5. Selecione os itens adicionais que quer adicionar ao espaço de trabalho.
  6. Clique em Adicionar. Os itens selecionados são adicionados às atualizações pendentes no painel de controlo de origem.
  7. Clique em Atualizar tudo. Esta operação realiza uma atualização a partir do git e cria os itens no espaço de trabalho.

Mudar de ramo

Se seu espaço de trabalho estiver conectado a uma ramificação do Git e você quiser alternar para outra ramificação, poderá fazê-lo rapidamente a partir do painel Controle do código-fonte sem desconectar e reconectar.

Quando você alterna ramificações, o espaço de trabalho é sincronizado com o novo ramo e todos os itens no espaço de trabalho são substituídos. Se houver versões diferentes do mesmo item em cada ramo, o item será substituído.

A performação do switch branch não afeta a relação (ligação) entre um workspace ramificado e o seu workspace de origem. A comutação de branch é uma alteração de estado do Git. Assim, alternar entre ramificações não cria nem modifica relações de espaço de trabalho. Se um espaço de trabalho já tem uma relação, então ela é preservada.

Note

Ao alternar ramificações, se o espaço de trabalho contiver um item na ramificação antiga, mas não na nova, o item será excluído. Adicionalmente, num espaço de trabalho com ramificação seletiva, realizar uma operação de comutação reinicia a seleção de itens, e todos os itens do ramo comutado são sincronizados com o espaço de trabalho.

Para alternar entre ramificações, siga estas etapas:

  1. Na guia Ramificações do menu Controle do código-fonte , selecione Alternar ramificação.

    Captura de tela do controle do código-fonte confira uma nova opção de ramificação.

  2. Especifique a ramificação à qual você deseja se conectar ou crie uma nova ramificação. Esta ramificação deve conter o mesmo diretório que a ramificação atual.

  3. Assinalar Entendo que os itens do espaço de trabalho podem ser excluídos e não podem ser restaurados. e selecione Mudar de branch.

    Captura de ecrã da comutação de ramificações.

Não é possível alternar ramificações se tiver alterações não confirmadas no espaço de trabalho. Selecione Cancelar para voltar e confirmar as alterações antes de mudar de filial.

Para ligar o espaço de trabalho atual a uma nova ramificação, mantendo o estado do espaço de trabalho existente, selecione Mudar para nova ramificação. Saiba mais sobre como fazer check-out de uma nova ramificação em Resolver conflitos no Git.

Ramificando limitações

  • A ramificação requer permissões listadas na tabela de permissões.

  • Tem de haver uma capacidade disponível para esta ação.

  • Todas as limitações de nomenclatura de espaço de trabalho e limitações de nomenclatura de ramificação se aplicam quando se ramifica para um novo espaço de trabalho.

  • Apenas os itens suportados pelo Git estão disponíveis no novo espaço de trabalho.

  • A lista de ramificações relacionadas mostra apenas ramificações e espaços de trabalho que você tem permissão para exibir.

  • A integração com o Git deve ser habilitada.

  • Ao ramificar, uma nova ramificação é criada e as configurações da ramificação original não são copiadas. Ajuste quaisquer configurações ou definições para garantir que o novo atenda às políticas da sua organização.

  • Ao desligar um espaço de trabalho ramificado do Git, a sua relação com o workspace de origem também é removida.

  • Ao desligar um espaço de trabalho ligado ao Git que tem espaços de trabalho ramificados relacionados, todas as relações de espaço de trabalho ramificado também são removidas.

  • Ao eliminar um espaço de trabalho que tem espaços de trabalho ramificados relacionados, todas as relações de espaço de trabalho ramificado são removidas, e os espaços de trabalho ramificados tornam-se espaços de trabalho regulares.

  • Ao expandir para um espaço de trabalho já existente:

    • O espaço de trabalho de destino deve suportar uma conexão Git.
    • O usuário deve ser um administrador do espaço de trabalho de destino.
    • O espaço de trabalho de destino deve ter capacidade.
    • O espaço de trabalho não pode ter aplicações modelo.
    • O espaço de trabalho alvo não pode ter espaços de trabalho ramificados relacionados.
  • Observe que, ao se ramificar para um espaço de trabalho, quaisquer itens que não estejam guardados no Git podem se perder. Recomendamos que registe os itens que deseja manter antes de se ramificar.