Compartilhar via


Conceitos básicos na integração do Git

Este artigo explica os conceitos básicos do Git e o processo de integração do Git ao workspace do Microsoft Fabric.

Importante

Esse recurso está em versão prévia.

Permissões

  • Para usar a integração do Git, o administrador da sua organização deverá habilitá-la.
  • Se o espaço de trabalho e o repositório estiverem em duas regiões diferentes, o administrador do locatário deverá habilitar exportações entre regiões geográficas.
  • As ações que você pode executar em um workspace dependem das permissões que você tem no workspace e no Azure DevOps.

Permissões do Azure DevOps

A lista a seguir mostra o que diferentes funções de workspace podem fazer dependendo das permissões do Azure DevOps:

  • Administrador: pode executar qualquer operação no workspace, limitada apenas pela função do Azure DevOps.
  • Membro/Colaborador: uma vez conectado a um workspace, um membro/colaborador poderá confirmar e atualizar alterações dependendo da função do Azure DevOps. Para ações relacionadas à conexão de workspace (por exemplo, conectar, desconectar ou alternar branches) procure ajuda de um Administrador.
  • Visualizador: não é possível executar nenhuma ação. O visualizador não pode ver nenhuma informação relacionada ao Git no workspace.

Permissões necessárias para operações comuns

A tabela a seguir descreve as permissões necessárias para executar várias operações comuns:

Operação Função do espaço de trabalho permissões do Git
Conectar o workspace ao repositório do Git Admin Read=Allow
Sincronizar workspace com o repositório do Git Admin Read=Allow
Desconectar workspace do repositório do Git Admin Nenhuma permissão é necessária
Alternar branch no workspace (ou qualquer alteração na configuração de conexão) Admin Read=Allow (no repositório/diretório/branch de destino)
Ver detalhes de conexão do Git Administrador, Membro, Colaborador Leitura ou Nenhum
Ver o workspace “status do Git” Administrador, Membro, Colaborador Read=Allow
Atualizar a partir do Git Todos os seguintes:

Colaborador no workspace (permissão WRITE em todos os itens)

Proprietário do item (se o comutador de locatário bloquear atualizações para não proprietários)

BUILD em dependências externas (quando aplicável)
Read=Allow
Confirmar alterações no workspace para o Git Todos os seguintes:

Colaborador no workspace (permissão WRITE em todos os itens)

Proprietário do item (se o comutador de locatário bloquear atualizações para não proprietários)

BUILD em dependências externas (quando aplicável)
Read=Allow
Contribute=Allow
A política de branch deve permitir a confirmação direta
Criar um novo branch do Git de dentro do Fabric Admin Role=Write
Create branch=Allow
Ramificação para um novo espaço de trabalho Administrador, Membro, Colaborador Read=Allow
Create branch=Allow

Conectar e sincronizar

Somente um administrador do workspace pode conectar um workspace a um Azure Repos, mas, uma vez conectado, qualquer pessoa com permissões pode trabalhar no workspace. Se você não for um administrador, peça ajuda ao seu administrador para fazer a conexão.

Quando você conecta um workspace ao Git, o Fabric sincroniza entre os dois locais para que eles tenham o mesmo conteúdo. Durante a sincronização inicial, se o workspace ou o branch do Git estiver vazio enquanto o outro tiver conteúdo, o conteúdo será copiado do local não vazio para o vazio. Se tanto o workspace quanto o branch do Git tiverem conteúdo, você deverá decidir qual direção a sincronização deve seguir.

  • Se você confirmar seu workspace para o branch do Git, todo o conteúdo do workspace com suporte será exportado para o Git e substituirá o conteúdo do Git atual.
  • Se você atualizar o workspace com o conteúdo do Git, o conteúdo do workspace será substituído e você perderá o conteúdo do workspace. Como uma ramificação do Git sempre pode ser restaurada para um estágio anterior, enquanto um espaço de trabalho não pode, se você escolher esta opção, você deverá confirmar.

Captura de tela de uma caixa de diálogo perguntando para qual direção sincronizar se tanto o Git e o workspace tiver conteúdo.

Se você não selecionar qual conteúdo sincronizar, não poderá continuar trabalhando.

Captura de tela da notificação que você não pode continuar o trabalho até que o workspace esteja sincronizado.

Status do Git

Depois de se conectar, o workspace exibe uma coluna Status do Git que indica o estado de sincronização de cada item no workspace em relação aos itens no branch remoto.

Captura de tela de itens em um workspace com seu status do Git destacado.

Cada item tem um dos seguintes status:

  • Sincronizado (o item é o mesmo no workspace e no branch do Git)
  • Conflito (o item foi alterado no workspace e no branch do Git)
  • Item sem suporte
  • Alterações não confirmadas no workspace
  • Atualização necessária do Git
  • O item é idêntico em ambos os locais, mas precisa ser atualizado para a última confirmação

Informação de sincronização

Enquanto você estiver conectado, as seguintes informações serão exibidas na parte inferior da tela:

  • Branch conectado
  • Hora da última sincronização
  • Link para a última confirmação com a qual o workspace está sincronizado

Captura de tela de informação da sincronização que aparece na parte inferior da tela quando conectado ao Git.

Controle do código-fonte

Na parte superior da tela está o ícone Controle do código-fonte. Ele mostra o número de itens diferentes no workspace e no branch do Git. Quando são feitas alterações no espaço de trabalho ou no GIT branch, o número é atualizado. Quando o workspace é sincronizado com o branch do Git, o ícone Controle do código-fonte exibe um 0.

Captura de tela do ícone de controle de origem mostrando nenhum item alterado.

Selecione o ícone de controle do código-fonte para abrir o painel Controle do código-fonte.

O painel Controle do código-fonte tem duas guias na lateral.

Confirmações e atualizações

Quando são feitas alterações no workspace ou no branch do Git, o ícone de controle do código-fonte mostra o número de itens diferentes. Selecione o ícone de controle do código-fonte para abrir o painel Controle do código-fonte.

O painel Fazer commit e atualizar tem duas seções.

Alterações mostra o número de itens que foram alterados no espaço de trabalho e precisam receber commit no Git.
Atualizações mostra o número de itens que foram modificados no GIT branch e precisam ser atualizados no espaço de trabalho.

Em cada seção, os itens alterados são listados com um ícone que indica o status:

  • novo
  • modificado
  • excluído
  • conflito

O botão Atualizar na parte superior do painel atualiza a lista de alterações e atualizações.

Captura de tela do painel de controle do código-fonte mostrando o status dos itens alterados.

Commit

  • Os itens no espaço de trabalho que foram alterados são listados na seção Alterações. Quando houver mais de um item alterado, você poderá selecionar quais deles confirmar no GIT branch.
  • Se houver atualizações feitas no branch do Git, as confirmações serão desabilitadas até que você atualize o workspace.

Atualizar

  • Ao contrário de confirmação e desfazer, o comando Atualizar sempre atualiza todo o branch e sincroniza com a confirmação mais recente. Você não pode selecionar itens específicos para atualizar.
  • Se forem feitas alterações no workspace e no branch do Git no mesmo item, as atualizações serão desabilitadas até que o conflito seja resolvido.

Leia mais sobre como confirmar e atualizar. Leia mais sobre o processo de atualização e como resolver conflitos.

Ramificações

A guia Branches do painel Controle do código-fonte permite gerenciar seus branches e executar ações relacionadas a eles. Ela tem duas seções principais:

  • Ações que você pode executar no branch atual:

    • Ramificação para novo espaço de trabalho (qualquer função): cria um espaço de trabalho e um branch com base no último commit do branch conectado ao espaço de trabalho atual. Ela se conecta ao novo espaço de trabalho e ao novo branch.
    • Fazer check-out de um novo branch (é necessário ser administrador do espaço de trabalho): cria um branch com base no último commit sincronizado no espaço de trabalho e altera a conexão do Git no espaço de trabalho atual. Isso não altera o conteúdo do espaço de trabalho.

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

  • Branches relacionados.
    A guia Branches também tem uma lista de espaços de trabalho relacionados que podem ser selecionados e alternados. Um espaço de trabalho relacionado é aquele com as mesmas propriedades de conexão que o branch atual, como a mesma organização, projeto, repositório e pasta do Git.
    Isso permite navegar até espaços de trabalho conectados a outros branches relacionados ao contexto do seu trabalho atual, sem precisar procurá-los na lista de espaços de trabalho do Fabric.
    Clique em um item da lista para abrir o espaço de trabalho relevante.

    Captura de tela mostrando uma lista de branches relacionados para os quais o usuário pode alternar.

Confira Limitações de ramificação para obter mais informações.

Considerações e limitações

Limitações gerais

  • A conta do Azure DevOps deve ser registrada para o mesmo usuário que está utilizando o workspace do Fabric.
  • O método de autenticação no Power BI deve ser pelo menos tão forte quanto o método de autenticação do Azure DevOps. Por exemplo, se o Azure DevOps exigir autenticação multifator, o Power BI também precisará exigir autenticação multifator.
  • No momento, não há suporte para os conjuntos de dados do Power BI conectados ao Analysis Services.
  • Atualizar um modelo semântico usando a API de atualização aprimorada resulta em uma comparação do Git após cada atualização.
  • A estrutura de pastas do espaço de trabalho não é refletida no repositório do Git. Os itens de espaço de trabalho em pastas são exportados para o diretório raiz.

Limitações do workspace

  • Somente o administrador do workspace pode gerenciar as conexões com o Azure Repos, como conectar, desconectar ou adicionar um branch.
    Uma vez conectado, qualquer pessoa com permissão pode trabalhar no workspace.

Limitações de branch e pasta

  • O nome do branch pode ter no máximo 244 caracteres.

  • O caminho completo de nomes de arquivo pode ter no máximo 250 caracteres. Os nomes mais longos falham.

  • O arquivo pode ter no máximo 25 MB.

  • Você não pode baixar um relatório/conjunto de dados como .pbix do serviço depois de implantá-los com a Integração do Git.

  • Se o nome de exibição do item:

    • Tiver mais de 256 caracteres
    • Termina com .' ou um espaço
    • Contém qualquer um dos seguintes caracteres: ", /, :, <, >, \\, *, ?, |

    A ID lógica (Guid) é adicionada como um prefixo antes do tipo, ao nomear a pasta no Git.

Limitações de ramificaçã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 espaço de trabalho e de branch se aplicam ao fazer a ramificação para um novo espaço de trabalho.
  • Ao fazer a ramificação, um novo espaço de trabalho é criado e as configurações do espaço de trabalho original não são copiadas. Ajuste quaisquer configurações ou definições para garantir que o novo espaço de trabalho atenda às políticas da sua organização.
  • Somente os itens com suporte do Git estão disponíveis no novo espaço de trabalho.
  • A lista de branches relacionados mostra apenas branches e espaços de trabalho que você tem permissão para exibir.
  • A integração do Git deve estar habilitada.

Limitações de sincronização e confirmação

  • O limite de tamanho de uma confirmação é de 125 MB.
  • Você só pode sincronizar em uma direção por vez. Você não pode confirmar e atualizar ao mesmo tempo.
  • Não há suporte para rótulos de confidencialidade e a exportação de itens com rótulos de confidencialidade pode estar desabilitada. Para confirmar itens que têm rótulos de confidencialidade sem o rótulo de confidencialidade, peça ajuda ao administrador.
  • Funciona com itens limitados. Se itens sem suporte estiverem na pasta, eles serão ignorados.
  • Nomes duplicados não são permitidos – mesmo se o Power BI permitir, a ação atualizar, confirmar ou desfazer falhará.
  • Não há suporte para B2B.
  • A resolução de conflitos é realizada parcialmente no Git.