Concetti di base nell'integrazione di Git

Questo articolo illustra i concetti di base di Git e il processo di integrazione di Git con l'area di lavoro di Microsoft Fabric.

Importante

Questa funzionalità è disponibile in anteprima.

Autorizzazioni

Autorizzazioni di Azure DevOps

L'elenco seguente illustra le diverse operazioni che i ruoli dell'area di lavoro possono eseguire in base alle autorizzazioni di Azure DevOps:

  • Amministrazione: può eseguire qualsiasi operazione nell'area di lavoro, limitata solo dal ruolo Azure DevOps.
  • Membro/Collaboratore: dopo la connessione a un'area di lavoro, un membro/collaboratore può eseguire il commit e l'aggiornamento delle modifiche, a seconda del ruolo di Azure DevOps. Per le azioni correlate alla connessione all'area di lavoro (ad esempio, connettersi, disconnettere o cambiare rami) cercare assistenza da un Amministrazione.
  • Visualizzatore: non è possibile eseguire alcuna azione. Il visualizzatore non può visualizzare informazioni correlate a Git nell'area di lavoro.

Autorizzazioni necessarie per le operazioni comuni

Nella tabella seguente vengono descritte le autorizzazioni necessarie per eseguire varie operazioni comuni:

Operazione Ruolo area di lavoro Autorizzazioni Git
Connessione'area di lavoro nel repository Git Amministratore Read=Allow
Sincronizzare l'area di lavoro con il repository Git Amministratore Read=Allow
Disconnettere l'area di lavoro dal repository Git Amministratore Non sono necessarie autorizzazioni
Cambiare ramo nell'area di lavoro (o qualsiasi modifica nell'impostazione di connessione) Amministratore Read=Allow (nel repository di destinazione/directory/ramo)
Visualizzare i dettagli della connessione Git Amministrazione, Membro, Collaboratore Lettura o nessuna
Vedere "Stato Git" dell'area di lavoro Amministrazione, Membro, Collaboratore Read=Allow
Aggiornamento da Git Tutte le operazioni seguenti:

Collaboratore nell'area di lavoro (autorizzazione WRITE per tutti gli elementi)

Proprietario dell'elemento (se l'opzione del tenant blocca gli aggiornamenti per i non proprietari)

BUILD su dipendenze esterne (ove applicabile)
Read=Allow
Eseguire il commit delle modifiche dell'area di lavoro in Git Tutte le operazioni seguenti:

Collaboratore nell'area di lavoro (autorizzazione WRITE per tutti gli elementi)

Proprietario dell'elemento (se l'opzione del tenant blocca gli aggiornamenti per i non proprietari)

BUILD su dipendenze esterne (ove applicabile)
Read=Allow
Collaborazione=Consenti
I criteri di ramo devono consentire il commit diretto
Creare un nuovo ramo Git dall'interno di Fabric Amministratore Role=Write
Crea ramo=Consenti

Connessione e sincronizzazione

Solo un amministratore dell'area di lavoro può connettere un'area di lavoro a Azure Repos, ma una volta connessi, chiunque disponga delle autorizzazioni può funzionare nell'area di lavoro. Se non si è un amministratore, chiedere assistenza all'amministratore per la connessione.

Quando si connette un'area di lavoro a Git, Fabric esegue la sincronizzazione tra le due posizioni in modo che abbiano lo stesso contenuto. Durante questa sincronizzazione iniziale, se l'area di lavoro o il ramo Git è vuoto mentre l'altro contiene contenuto, il contenuto viene copiato dal percorso non vuoto a quello vuoto. Se l'area di lavoro e il ramo Git hanno contenuto, è necessario decidere quale direzione deve andare la sincronizzazione.

  • Se si esegue il commit dell'area di lavoro nel ramo Git, tutto il contenuto dell'area di lavoro supportato viene esportato in Git e sovrascrive il contenuto Git corrente.
  • Se si aggiorna l'area di lavoro con il contenuto Git, il contenuto dell'area di lavoro viene sovrascritto e si perde il contenuto dell'area di lavoro. Poiché un ramo Git può sempre essere ripristinato in una fase precedente, mentre un'area di lavoro non può, se si sceglie questa opzione, viene chiesto di confermare.

Screenshot of dialog asking which direction to sync if both Git and the workspace have content.

Se non si seleziona il contenuto da sincronizzare, non è possibile continuare a funzionare fino a quando non si esegue questa operazione:

Screenshot notification that you can't continue working until workspace is synced.

Git status

Dopo la connessione, l'area di lavoro visualizza una colonna di stato Git che indica lo stato di sincronizzazione di ogni elemento nell'area di lavoro in relazione agli elementi nel ramo remoto.

Screenshot if items in a workspace with their Git status outlined.

Ogni elemento ha uno degli stati seguenti:

  • Sincronizzato (l'elemento è lo stesso nell'area di lavoro e nel ramo Git)
  • Conflitto (l'elemento è stato modificato sia nell'area di lavoro che nel ramo Git)
  • Elemento non supportato
  • Modifiche di cui non è stato eseguito il commit nell'area di lavoro
  • Aggiornamento obbligatorio da Git
  • L'elemento è identico in entrambe le posizioni, ma deve essere aggiornato all'ultimo commit

Informazioni di sincronizzazione

Se si è connessi, nella parte inferiore della schermata sono visualizzate le informazioni seguenti:

  • ramo Connessione ed
  • Ora dell'ultima sincronizzazione
  • Collegamento all'ultimo commit in cui è sincronizzata l'area di lavoro

Screenshot of sync information that appears on the bottom of the screen when connected to Git.

Commit e aggiornamenti

Riquadro Controllo del codice sorgente

Nella parte superiore della schermata è presente l'icona controllo del codice sorgente. Mostra il numero di elementi diversi nell'area di lavoro e nel ramo Git. Quando l'area di lavoro viene sincronizzata con il ramo Git, l'icona controllo del codice sorgente visualizza un valore 0.

Screenshot of the source control icon showing zero items changed.

Quando vengono apportate modifiche all'area di lavoro o al ramo Git, l'icona del controllo del codice sorgente mostra il numero di elementi diversi. Selezionare l'icona del controllo del codice sorgente per aprire il riquadro Controllo del codice sorgente.

Nel riquadro Controllo del codice sorgente la scheda Modifiche mostra il numero di elementi modificati nell'area di lavoro e deve essere eseguito il commit in Git e la scheda Aggiornamenti mostra il numero di elementi modificati nel ramo Git e che devono essere aggiornati all'area di lavoro.

In ogni scheda gli elementi modificati sono elencati con un'icona che indica lo stato:

  • Nuovo
  • Volta
  • Eliminato
  • Conflitto

Screenshot of the source control panel showing the status of the changed items.

Commit

  • Quando è necessario eseguire il commit di più elementi, è possibile selezionare gli elementi da eseguire per il commit nel ramo Git.
  • Se sono stati apportati aggiornamenti al ramo Git, i commit vengono disabilitati fino a quando non si aggiorna l'area di lavoro.

Update

  • A differenza del commit e dell'annullamento, il comando Update aggiorna sempre l'intero ramo e sincronizza il commit più recente. Non è possibile selezionare elementi specifici da aggiornare.
  • Se sono state apportate modifiche nell'area di lavoro e nel ramo Git nello stesso elemento, gli aggiornamenti vengono disabilitati fino a quando il conflitto non viene risolto.

Altre informazioni su come eseguire il commit e l'aggiornamento. Altre informazioni sul processo di aggiornamento e su come risolvere i conflitti.

Considerazioni e limitazioni

Limitazioni generali

  • L'account Azure DevOps deve essere registrato allo stesso utente che usa l'area di lavoro Infrastruttura.
  • Il metodo di autenticazione in Power BI deve essere almeno sicuro come il metodo di autenticazione per Azure DevOps. Ad esempio, se Azure DevOps richiede l'autenticazione a più fattori, Power BI deve richiedere anche l'autenticazione a più fattori.
  • Le query dirette e i modelli compositi nei set di dati di Power BI e Analysis Services non sono attualmente supportati.
  • I modelli semantici DirectLake non sono attualmente supportati.
  • L'aggiornamento di un modello semantico tramite l'API di aggiornamento avanzato causa un diff Git dopo ogni aggiornamento.

Limitazioni dell'area di lavoro

Solo l'amministratore dell'area di lavoro può gestire le connessioni al repository di Azure, ad esempio la connessione, la disconnessione o l'aggiunta di un ramo. Dopo la connessione, chiunque disponga dell'autorizzazione può funzionare nell'area di lavoro.

Limitazioni dei rami e delle cartelle

  • La lunghezza massima del nome del ramo è di 244 caratteri.

  • La lunghezza massima del percorso completo per i nomi di file è di 250 caratteri. I nomi più lunghi hanno esito negativo.

  • La dimensione massima del file è 25 MB.

  • Non è possibile scaricare un report o un set di dati come pbix dal servizio dopo la distribuzione con l'integrazione git.

  • Se il nome visualizzato dell'elemento:

    • Ha più di 256 caratteri
    • Termina con .' o uno spazio
    • Contiene uno dei caratteri seguenti: ", /, :, <, >\\, , *, ?|

    L'ID logico (Guid) viene aggiunto come prefisso prima del tipo, quando si denomina la cartella in Git.

Limitazioni di sincronizzazione e commit

  • Il limite di dimensioni per un commit è 125 MB.
  • È possibile eseguire la sincronizzazione in una sola direzione alla volta. Non è possibile eseguire il commit e l'aggiornamento contemporaneamente.
  • Le etichette di riservatezza non sono supportate e l'esportazione di elementi con etichette di riservatezza potrebbe essere disabilitata. Per eseguire il commit di elementi con etichette di riservatezza senza l'etichetta di riservatezza, chiedere assistenza all'amministratore .
  • Funziona con elementi limitati. Se gli elementi non supportati si trovano nella cartella, vengono ignorati.
  • La duplicazione dei nomi non è consentita, anche se Power BI lo consente, l'azione di aggiornamento, commit o annullamento ha esito negativo.
  • B2B non è supportato.
  • La risoluzione dei conflitti viene eseguita parzialmente in Git.