Processo de desenvolvimento usando ambiente de trabalho ramificado

Um workspace ramificado é um workspace que está vinculado a um workspace de origem. Ele permite que os desenvolvedores trabalhem em alterações em um ambiente isolado, entendam como seu trabalho se relaciona com outros workspaces e promovam alterações de volta ao workspace principal com confiança.

A relação (link) entre um workspace Branched e seu workspace de origem é estabelecida quando o usuário executa a ramificação. Para desenvolvedores de Fabric, a ramificação cria um novo branch do Git a partir da confirmação mais recente do branch conectado no momento do workspace de origem. Em seguida, o usuário pode criar um novo workspace conectado a esse novo branch ou usar um workspace existente alternando sua conexã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 do usuário do Fabric:

  • Árvore de 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 workspace com workspaces ramificados.

  • Breadcrumbs do espaço de trabalho: opção de navegação do espaço de trabalho ramificado para o de origem

    Navegação ramificada de espaço de trabalho.

  • Controle do código-fonte - guia branches relacionados

    Branches relacionados ao workspace ramificado.

Operação Branch-Out

Por padrão, quando uma operação de divisão de ramo é concluída, todos os itens do ramo de origem são incluídos no workspace de destino. Esse comportamento pode ser alterado selecionando Selecionar itens individualmente (versão prévia) durante a configuração da ramificação, permitindo que apenas os itens escolhidos sejam incluídos no workspace de destino para proporcionar uma experiência de codificação mais rápida.

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

  1. Na guia Branches do menu Controle de origem, selecione Ramificar para outra área de trabalho.

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

  2. Especifique se deseja criar um novo espaço de trabalho ou iniciar uma ramificação a partir de um existente. Especifique os nomes do novo branch e do workspace ou selecione o workspace existente na lista suspensa. Marque a opção Selecionar itens individualmente (versão prévia) caso você queira trabalhar apenas em um subconjunto dos itens no workspace ramificado. Você verá a captura de tela a seguir ao criar um novo workspace com ramificação seletiva.

Note

Quando você muda para uma área de trabalho, todos os itens que não são salvos no Git podem ser perdidos. Recomendamos que você faça commit de todos os itens que deseja manter antes de fazer o branch.

Captura de tela de selecionar itens individualmente.

Importante

Ao ramificar para um workspace existente, alguns itens podem ser excluídos. Você deve confirmar que entende esse risco antes de prosseguir com a operação

  1. Clique no botão Expandir (as etapas 4-8 se aplicam somente quando Selecionar itens individualmente (Prévia) está selecionado)
  2. Essa ação abre uma caixa de diálogo para Selecionar itens para seu workspace.

Note

Se a branch Git contiver um grande número de itens, a caixa de diálogo Selecionar itens poderá levar algum tempo para ser carregada.

  1. Selecione os itens que você deseja para este workspace.

  2. Clique em Criar branch. Captura de tela do branch create.

  3. Quando você executa a ramificação seletiva, todas as dependências do item são necessárias. Você pode usar o botão selecionar itens relacionados para essa finalidade. Se você não selecionar uma das dependências, verá o seguinte: captura de tela do erro de dependência.

  4. Depois que o branch for criado, você poderá verificar se está em um branch seletivo pelo ícone na barra de status inferior (canto inferior esquerdo). Diz ramificação seletiva. Captura de tela do ícone de

  5. O Fabric cria o novo espaço de trabalho ramificado. O sistema automaticamente leva você ao novo espaço de trabalho. Ele contém todos os itens ou apenas os itens que você selecionou no caso de ramificação seletiva.

    O espaço de trabalho sincroniza com o ramo de funcionalidades e se torna um ambiente isolado para trabalhar, como mostrado na ilustração. Agora você pode trabalhar neste novo e ramificado espaço de trabalho. A sincronização pode levar alguns minutos. Para obter mais informações sobre ramificação, consulte dicas de solução de problemas.

    Diagrama do fluxo de commits.

  6. Salve suas alterações e confirme elas na ramificação do recurso.

  7. Quando estiver pronto, crie um PR para a ramificação principal. Os processos de revisão e mesclagem são feitos por meio do provedor Git relacionado com base na configuração definida por sua equipe para esse repositório.

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

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

Como adicionar itens adicionais a um workspace com ramificação seletiva

Quando um desenvolvedor do Fabric precisa adicionar itens que não foram selecionados durante a operação de ramificação, as etapas abaixo descrevem como adicionar itens adicionais ao workspace:

  1. Vá para o workspace necessário do Fabric e selecione o controle de origem na parte superior.
  2. À direita, selecione o símbolo de ramificação.
  3. Use a lista suspensa e selecione Selecionar itens adicionais.
  4. Essa ação abre uma caixa de diálogo para Selecionar itens para seu workspace. A caixa de diálogo selecionar itens mostra apenas os itens do branch git que não foram selecionados anteriormente.
  5. Selecione os itens adicionais que você deseja adicionar ao workspace.
  6. Clique em Adicionar. Os itens selecionados são adicionados às atualizações pendentes no painel de controle do código-fonte.
  7. Clique em Atualizar tudo. Essa operação executa uma atualização do git e cria os itens no workspace.

Alternar ramificações

Se o workspace estiver conectado a um branch do Git e você quiser alternar para outro branch, poderá fazer isso rapidamente no painel Controle do código-fonte sem precisar desconectar e reconectar.

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

Realizar a mudança de ramificação não afeta a relação (vínculo) entre um workspace ramificado e seu workspace de origem. A mudança de branch é uma alteração de estado do Git. Portanto, a troca de branches não cria ou modifica relações de espaço de trabalho. Se um espaço de trabalho já tiver uma relação, esta será mantida.

Note

Ao mudar de branch, se a área de trabalho contiver um item no branch antigo, mas não no novo, o item será excluído. Além disso, em um espaço de trabalho com ramificação seletiva, a execução de uma operação de troca redefine a seleção de itens, e todos os itens da ramificação trocada são sincronizados com o espaço de trabalho.

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

  1. Na guia Branches do menu Controle do código-fonte, selecione Trocar branch.

    Captura de tela do check-out do controle do código-fonte de uma nova opção de branch.

  2. Especifique o branch ao qual você deseja se conectar ou criar uma nova ramificação. Essa ramificação deve conter o mesmo diretório que a ramificação atual.

  3. Marque a opção Entendo que os itens da área de trabalho podem ser excluídos e não podem ser restaurados. E selecione Alternar branch.

    Captura de tela da alternância de branches.

Você não poderá alternar branches se tiver alterações não confirmadas no workspace. Selecione Cancelar para retornar e confirmar suas alterações antes de trocar de branches.

Para conectar o workspace atual a um novo branch, mantendo o status do workspace existente, selecione Fazer checkout de um novo branch. Saiba mais sobre como fazer check-out de um novo branch em Resolver conflitos no Git.

Limitações de expansão

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

  • É necessário haver uma capacidade disponível para essa ação.

  • Todas as limitações de nomenclatura de workspace e branch se aplicam ao criar um novo workspace.

  • Somente os itens com suporte do Git estão disponíveis no novo espaço de trabalho.

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

  • A integração do Git deve estar habilitada.

  • Ao ramificar para fora, um novo branch é criado e as configurações do branch original não são copiadas. Ajuste as configurações ou definições para garantir que o novo atenda às políticas da sua organização.

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

  • Ao desconectar um workspace integrado ao Git que tem workspaces derivados relacionados, todas as relações com os workspaces derivados também são removidas.

  • Ao excluir um workspace que tenha workspaces ramificados relacionados, todas as relações de workspace ramificadas são removidas e os workspaces ramificados se tornam workspaces regulares.

  • Ao ramificar para um workspace existente:

    • O workspace de destino deve dar suporte a uma conexão Git.
    • O usuário deve ser um administrador do workspace de destino.
    • O espaço de trabalho de destino deve ter capacidade suficiente.
    • O espaço de trabalho não pode ter aplicativos modelo.
    • O workspace de destino não pode ter nenhum workspace ramificado relacionado.
  • Observe que quando você faz o branch em um workspace, todos os itens que não são salvos no Git podem ser perdidos. Recomendamos que você faça o commit todos os itens que deseja manter antes de fazer o branch.