Partilhar via


Conceitos básicos em integração Git

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

Permissões

  • Para usar a integração do Git, o administrador da sua organização deve habilitá-la pelo administrador da sua organização.
  • Se o espaço de trabalho e o repositório do Azure estiverem em duas regiões diferentes, o administrador do locatário deverá habilitar a exportação entre regiões geográficas. Essa restrição não se aplica ao GitHub.
  • As ações que você pode executar em um espaço de trabalho dependem das permissões que você tem no espaço de trabalho e no Git, conforme listado nas próximas seções.

A lista a seguir mostra o que diferentes funções de espaço de trabalho podem fazer dependendo de suas permissões no repositório Git:

  • Admin: pode executar qualquer operação no espaço de trabalho, limitado apenas pela função Git.
  • Membro/Colaborador: Depois de se conectar a um espaço de trabalho, um membro/colaborador pode confirmar e atualizar alterações, dependendo de sua função no Git. Para ações relacionadas à conexão do espaço de trabalho (por exemplo, conectar, desconectar ou alternar ramificações), 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 espaço de trabalho.

Funções do espaço de trabalho

A tabela a seguir descreve as permissões necessárias no espaço de trabalho Malha para executar várias operações comuns:

Operação Função de espaço de trabalho
Conectar o espaço de trabalho ao repositório Git Admin
Espaço de trabalho de sincronização com repositório Git Admin
Desconectar o espaço de trabalho do repositório Git Admin
Alternar ramificação no espaço de trabalho (ou qualquer alteração na configuração de conexão) Admin
Ver detalhes da conexão Git Administrador, Membro, Colaborador
Ver espaço de trabalho 'Estado do Git' Administrador, Membro, Colaborador
Atualização do Git Todos os seguintes:

Colaborador no espaço de trabalho (permissão WRITE em todos os itens)

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

CONSTRUIR sobre dependências externas (quando aplicável)
Confirmar alterações do espaço de trabalho no Git Todos os seguintes:

Colaborador no espaço de trabalho (permissão WRITE em todos os itens)

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

CONSTRUIR sobre dependências externas (quando aplicável)
Crie uma nova ramificação do Git a partir do Fabric Admin
Ramificar para um novo espaço de trabalho Administrador, Membro, Colaborador

Funções do Git

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

Operação Permissões do Git
Conectar o espaço de trabalho ao repositório Git Ler=Permitir
Espaço de trabalho de sincronização com repositório Git Ler=Permitir
Desconectar o espaço de trabalho do repositório Git Não são necessárias permissões
Alternar ramificação no espaço de trabalho (ou qualquer alteração na configuração de conexão) Read=Allow (no destino repo/directory/branch)
Ver detalhes da conexão Git Ler ou Nenhum
Ver espaço de trabalho 'Estado do Git' Ler=Permitir
Atualização do Git Ler=Permitir
Confirmar alterações do espaço de trabalho no Git Ler=Permitir
Contribute=Permitir
A política de ramificação deve permitir a confirmação direta
Crie uma nova ramificação do Git a partir do Fabric Função=Escrever
Criar ramificação=Permitir
Ramificar para um novo espaço de trabalho Ler=Permitir
Criar ramificação=Permitir

Ligar e sincronizar

Somente um administrador de espaço de trabalho pode conectar um espaço de trabalho a um Git Repos, mas uma vez conectado, qualquer pessoa com permissões pode trabalhar no espaço de trabalho. Se você não for um administrador, peça ajuda ao administrador para se conectar.

Quando você conecta um espaço de trabalho ao Git, o Fabric sincroniza entre os dois locais para que eles tenham o mesmo conteúdo. Durante essa sincronização inicial, se o espaço de trabalho ou a ramificação do Git estiver vazio enquanto o outro tiver conteúdo, o conteúdo será copiado do local não vazio para o local vazio. Se o espaço de trabalho e a ramificação do Git tiverem conteúdo, você terá que decidir em qual direção a sincronização deve seguir.

  • Se você confirmar seu espaço de trabalho na ramificação do Git, todo o conteúdo do espaço de trabalho suportado será exportado para o Git e substituirá o conteúdo atual do Git.
  • Se você atualizar o espaço de trabalho com o conteúdo do Git, o conteúdo do espaço de trabalho será substituído e você perderá o conteúdo do espaço de trabalho. 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 essa opção, será solicitado que você confirme.

Captura de tela da caixa de diálogo perguntando qual direção sincronizar se o Git e o espaço de trabalho tiverem conteúdo.

Se não selecionar o conteúdo a sincronizar, não poderá continuar a trabalhar.

Notificação de captura de tela informando que você não pode continuar trabalhando até que o espaço de trabalho seja sincronizado.

Conectar-se a um espaço de trabalho compartilhado

Se você tentar se conectar a um espaço de trabalho que já esteja conectado ao Git, poderá receber a seguinte mensagem:

Captura de tela da mensagem de erro informando yo para entrar em uma conta Git.

Vá para a guia Contas no lado direito do painel de controle Origem, escolha uma conta e conecte-se a ela.

Captura de tela da guia Contas com o usuário se conectando a uma conta do GitHub.

Status do Git

Depois de se conectar, o espaço de trabalho exibe uma coluna de status do Git que indica o estado de sincronização de cada item no espaço de trabalho em relação aos itens na ramificação remota.

Captura de tela se os itens em um espaço de trabalho com o status do Git delineado.

Cada item tem um dos seguintes status:

  • Sincronizado (o item é o mesmo no espaço de trabalho e na ramificação do Git)
  • Conflito (o item foi alterado no espaço de trabalho e na ramificação do Git)
  • Item não suportado
  • Alterações não confirmadas no espaço de trabalho
  • Atualização necessária do Git
  • O item é idêntico em ambos os lugares, mas precisa ser atualizado até a última confirmação

Sincronizar informações

Enquanto estiver ligado, as seguintes informações aparecem na parte inferior do ecrã:

  • Ramificação conectada
  • Hora da última sincronização
  • Link para a última confirmação com a qual o espaço de trabalho está sincronizado

Captura de tela das informações de sincronização que aparecem na parte inferior da tela quando conectado ao Git.

Painel de controle do código-fonte

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

Captura de tela do ícone de controle do código-fonte mostrando zero itens alterados.

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

O painel de controle do código-fonte tem três guias ao lado:

Confirmações e atualizações

Quando são feitas alterações no espaço de trabalho ou na ramificação 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 de controle do código-fonte.

O painel Confirmar e atualizar tem duas seções.

Alterações mostra o número de itens que foram alterados no espaço de trabalho e precisam ser confirmados no Git.
Atualizações mostra o número de itens que foram modificados na ramificação do Git e precisam ser atualizados para o espaço de trabalho.

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

  • Novo
  • modificado
  • Suprimido
  • 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 de origem mostrando o status dos itens alterados.

Consolidação

  • 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 itens confirmar na ramificação do Git.
  • Se houver atualizações feitas na ramificação do Git, as confirmações serão desabilitadas até que você atualize seu espaço de trabalho.

Atualizar

  • Ao contrário de confirmar e desfazer, o comando Atualizar sempre atualiza toda a ramificação e sincroniza com a confirmação mais recente. Não é possível selecionar itens específicos para atualizar.
  • Se forem feitas alterações no espaço de trabalho e na ramificação do Git no mesmo item, as atualizações serão desativadas 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.

Ramos

A guia Ramificações do painel de controle Código-fonte permite que você gerencie suas ramificações e execute ações relacionadas a ramificações. Tem duas secções principais:

  • Ações que você pode executar na ramificação atual:

    • Ramificação para novo espaço de trabalho (qualquer função): cria um novo espaço de trabalho e uma nova ramificação com base na última confirmação da ramificação conectada ao espaço de trabalho atual. Ele se conecta ao novo espaço de trabalho e à nova ramificação.
    • Checkout de uma nova ramificação (deve ser administrador do espaço de trabalho): cria uma nova ramificação com base na última confirmação sincronizada no espaço de trabalho e altera a conexão Git no espaço de trabalho atual. Ele não altera o conteúdo do espaço de trabalho.

    Captura de tela da guia branch out no painel de controle do código-fonte.

  • Ramos relacionados.
    A guia Ramificações também tem uma lista de espaços de trabalho relacionados que você pode selecionar e alternar. Um espaço de trabalho relacionado é aquele com as mesmas propriedades de conexão que a ramificação atual, como a mesma organização, projeto, repositório e pasta git.
    Isso permite que você navegue até espaços de trabalho conectados a outras ramificações relacionadas ao contexto do seu trabalho atual, sem ter que procurá-los em sua lista de espaços de trabalho do Fabric.
    Clique em um item na lista para abrir o espaço de trabalho relevante.

    Captura de tela mostrando uma lista de ramificações relacionadas para as quais o usuário pode alternar.

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

Detalhes da conta

A guia Detalhes da conta mostra detalhes da conta do GitHub à qual o usuário está conectado. Tem duas secções. A seção superior mostra o provedor Git e o nome da conta. A seção inferior mostra o repositório e a ramificação aos quais o espaço de trabalho está conectado. Atualmente, essa guia só está disponível para espaços de trabalho conectados ao GitHub.

Os detalhes da conta do GitHub incluem:

  • Detalhes da conta Git

    • Provider
    • Nome da conta
  • Repositório Git

  • Filial

Captura de tela da guia contas no painel de controle Código-fonte mostrando os detalhes do Git e os nomes de repositórios e filiais.

Considerações e limitações

Limitações gerais de integração do Git

  • O método de autenticação no Fabric deve ser pelo menos tão forte quanto o método de autenticação para o Git. Por exemplo, se o Git exigir autenticação multifator, o Fabric também precisará exigir autenticação multifator.
  • Os conjuntos de dados do Power BI conectados ao Analysis Services não são suportados no momento.
  • Nuvens soberanas não são suportadas.
  • A conta do Azure DevOps deve ser registrada para o mesmo usuário que está usando o espaço de trabalho Fabric.
  • O administrador do locatário deve habilitar as exportações entre regiões geográficas se o espaço de trabalho e o repositório Git estiverem em duas regiões geográficas diferentes.
  • O tamanho da confirmação é limitado a 125 MB.

Limitações do GitHub Enterprise

Algumas configurações do GitHub Enterprise não são suportadas. Por exemplo:

  • Lista de permissões de IP
  • Rede privada

Limitações do espaço de trabalho

  • Somente o administrador do espaço de trabalho pode gerenciar as conexões com o repositório Git , como conectar, desconectar ou adicionar uma ramificação.
    Uma vez conectado, qualquer pessoa com permissão pode trabalhar no espaço de trabalho.
  • A estrutura de pastas do espaço de trabalho não é refletida no repositório Git. Os itens do espaço de trabalho nas pastas são exportados para o diretório raiz.

Limitações de ramificações e pastas

  • O comprimento máximo do nome da ramificação é de 244 caracteres.
  • O comprimento máximo do caminho completo para nomes de arquivo é de 250 caracteres. Nomes mais longos falham.
  • O tamanho máximo do ficheiro é de 25 MB.
  • Não é possível baixar um relatório/conjunto de dados como .pbix do serviço depois de implantá-los com a integração do Git.
  • Ao nomear uma pasta no Git, a ID lógica (Guid) é adicionada como um prefixo antes do tipo se o nome de exibição do item:
    • Tem mais de 256 caracteres
    • Termina com . ou um espaço
    • Contém qualquer um dos seguintes caracteres: " / : ? < > \ * |

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 ramificação se aplicam ao ramificar para um novo espaço de trabalho.
  • Ao ramificar, 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.
  • 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.

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

  • Você só pode sincronizar em uma direção de cada vez. Não é possível confirmar e atualizar ao mesmo tempo.
  • Não há suporte para rótulos de sensibilidade e a exportação de itens com rótulos de sensibilidade pode ser desativada. Para confirmar itens com rótulos de sensibilidade sem o rótulo de sensibilidade, peça ajuda ao administrador .
  • Funciona com itens limitados. Os itens não suportados na pasta são ignorados.
  • Não é permitida a duplicação de nomes. Mesmo que o Power BI permita a duplicação de nomes, a ação de atualização, confirmação ou desfazer falhará.
  • B2B não é suportado.
  • A resolução de conflitos é parcialmente feita no Git.
  • Durante o processo Confirmar no Git , o serviço Malha exclui arquivos dentro da pasta de itens que não fazem parte da definição de item. Arquivos não relacionados que não estão em uma pasta de item não são excluídos.
  • Depois de confirmar alterações, você pode notar algumas alterações inesperadas no item que não fez. Estas alterações são semanticamente insignificantes e podem acontecer por várias razões. Por exemplo:
    • Alterar manualmente o arquivo de definição de item. Essas alterações são válidas, mas podem ser diferentes do que se feitas através dos editores. Por exemplo, se você renomear uma coluna de modelo semântico no Git e importar essa alteração para o espaço de trabalho, da próxima vez que confirmar alterações no modelo semântico, o arquivo bim será registrado como alterado e a coluna modificada enviada para a parte de trás da columns matriz. Isso ocorre porque o mecanismo AS que gera os arquivos bim envia colunas renomeadas para o final da matriz. Essa alteração não afeta a maneira como o item opera.
    • Confirmando um arquivo que usa quebras de linha CRLF . O serviço usa quebras de linha LF (alimentação de linha). Se você tinha arquivos de item no repositório Git com quebras de linha CRLF , quando você confirma a partir do serviço, esses arquivos são alterados para LF. Por exemplo, se você abrir um relatório na área de trabalho, salve o projeto .pbip e carregue-o no Git usando CRLF.
  • A atualização de um modelo semântico usando a API de atualização aprimorada causa uma comparação do Git após cada atualização.