Erste Schritte mit der Git-Integration

Dieser Artikel führt Sie durch die folgenden grundlegenden Aufgaben im Git-Integrationstool von Microsoft Fabric:

Es wird empfohlen, die Übersicht über die Git-Integration zu lesen, bevor Sie beginnen.

Voraussetzungen

Um Git in Ihren Microsoft Fabric-Arbeitsbereich zu integrieren, müssen die folgenden Voraussetzungen sowohl in Fabric als auch in Git erfüllt sein.

Voraussetzungen für Fabric

Für den Zugriff auf das Git-Integrationsfeature benötigen Sie eine der folgenden Komponenten:

Darüber hinaus müssen die folgenden Mandantenoptionen über das Admin-Portal aktiviert werden:

Diese Optionen können vom Mandantenadministrator, Kapazitätsadministrator oder Arbeitsbereichsadministrator abhängig von den Einstellungen Ihrer Organisation aktiviert werden.

Git-Voraussetzungen

Die Git-Integration wird derzeit für Azure DevOps und GitHub unterstützt. Um die Git-Integration in Ihren Fabric-Arbeitsbereich zu verwenden, benötigen Sie in Azure DevOps oder GitHub Folgendes:

  • Aktives Azure-Konto, für das dieselben Benutzer*innen registriert sind, die auch den Fabric-Arbeitsbereich verwenden Erstellen Sie ein kostenloses Konto.
  • Zugriff auf ein vorhandenes Repository

Arbeitsbereich mit einem Git-Repository verbinden

Herstellen einer Verbindung mit einem Git-Repository

Ein Arbeitsbereich kann nur vom Arbeitsbereichsadministrator mit einem Repository verbunden werden. Sobald die Verbindung jedoch hergestellt wurde, kann jeder mit der entsprechenden Berechtigung im Arbeitsbereich arbeiten. Wenn Sie kein Administrator sind, bitten Sie Ihren Administrator um Hilfe beim Herstellen einer Verbindung. Führen Sie die folgenden Schritte aus, um einen Arbeitsbereich mit einem GitHub-Repository zu verbinden:

  1. Melden Sie sich bei Fabric an, und navigieren Sie zu dem Arbeitsbereich, mit dem Sie eine Verbindung herstellen möchten.

  2. Wechseln Sie zu Arbeitsbereichseinstellungen.

    Screenshot: Arbeitsbereich mit hervorgehobener Option „Arbeitsbereichseinstellungen“

  3. Wählen Sie Git-Integration aus.

  4. Wählen Sie den gewünschten Git-Anbieter aus. Azure DevOps und GitHub werden aktuell unterstützt.

Wenn Sie Azure DevOps auswählen, wählen Sie Verbinden, um sich automatisch bei dem Azure Repos-Konto anzumelden, das bei dem in Fabric angemeldeten Microsoft Entra-Benutzer registriert ist.

Screenshot: Fenster für Arbeitsbereichseinstellungen mit hervorgehobener Option „Git-Integration“

Stellen Sie eine Verbindung mit einem Arbeitsbereich her.

Wenn der Arbeitsbereich bereits mit GitHub verbunden ist, befolgen Sie die Anweisungen zum Herstellen einer Verbindung mit einem freigegebenen Arbeitsbereich.

  1. Geben Sie im Dropdownmenü die folgenden Details zu dem Branch an, mit dem Sie eine Verbindung herstellen möchten:

    Hinweis

    Sie können einen Arbeitsbereich immer nur mit einem Branch und einem Ordner verbinden.

    • Organisation
    • Projekt
    • Git-Repository.
    • Branch: Wählen Sie im Dropdownmenü einen Branch aus, oder klicken Sie auf + Neuer Branch, um einen neuen zu erstellen. Sie können jeweils nur mit einem Branch eine Verbindung herstellen.)
    • Ordner (Geben Sie den Namen eines vorhandenen Ordners ein oder geben Sie einen Namen ein, um einen neuen Ordner zu erstellen. Wenn Sie den Ordnernamen leer lassen, wird der Inhalt im Stammordner erstellt. Sie können immer nur eine Verbindung zu einem Ordner herstellen.)

Screenshot zur Azure-Verbindung.

Wählen Sie Verbinden und synchronisieren aus.

Wenn bei der ersten Synchronisierung entweder der Arbeitsbereich oder der Git-Branch leer ist, wird der Inhalt vom nicht leeren Speicherort in den leeren kopiert. Wenn sowohl der Arbeitsbereich als auch der Git-Branch über Inhalte verfügen, werden Sie gefragt, in welche Richtung die Synchronisierung erfolgen soll. Weitere Informationen zu dieser ersten Synchronisierung finden Sie unter Verbinden und Synchronisieren.

Nachdem Sie eine Verbindung hergestellt haben, zeigt der Arbeitsbereich Informationen zur Quellcodeverwaltung an, die es Benutzer*innen ermöglicht, den verbundenen Branch, den Status jedes Elements im Branch und den Zeitpunkt der letzten Synchronisierung anzuzeigen.

Screenshot: Symbol für Quellcodeverwaltung und andere Git-Informationen

Um Ihren Arbeitsbereich mit dem Git-Branch zu synchronisieren, committen Sie alle Änderungen, die Sie im Arbeitsbereich vornehmen, an den Git-Branch, und aktualisieren Sie Ihren Arbeitsbereich, wenn jemand neue Commits für den Git-Branch erstellt.

Committen von Änderungen an Git

Nachdem Sie erfolgreich eine Verbindung mit einem Git-Ordner hergestellt haben, bearbeiten Sie Ihren Arbeitsbereich wie gewohnt. Alle Änderungen, die Sie speichern, werden nur im Arbeitsbereich gespeichert. Wenn Sie bereit sind, können Sie Ihre Änderungen an den Git-Branch committen, oder Sie können die Änderungen rückgängig machen und die Elemente in den vorherigen Status versetzen. Informieren Sie sich weiter über Commits.

Führen Sie die folgenden Schritte aus, um Ihre Änderungen an den Git-Branch zu committen:

  1. Wechseln Sie zum Arbeitsbereich.

  2. Wählen Sie das Symbol für die Quellcodeverwaltung aus. Dieses Symbol zeigt die Anzahl der nicht committeten Änderungen an. Screenshot: Symbol für die Quellcodeverwaltung mit der Zahl „2“, die darauf hinweist, dass zwei Änderungen committet werden können

  3. Wählen Sie im Bereich Quellcodeverwaltung die Registerkarte Änderungen aus. Es wird eine Liste mit allen von Ihnen geänderten Elementen und einem Symbol angezeigt, das angibt, ob das Element neu ist , geändert wurde , einen Konflikt aufweist oder gelöscht wurde .

  4. Wählen Sie die Elemente aus, die Sie committen möchten. Um alle Elemente auszuwählen, aktivieren Sie das obere Kontrollkästchen.

  5. Fügen Sie im Feld einen Kommentar hinzu. Wenn Sie keinen Kommentar hinzufügen, wird automatisch eine Standardnachricht hinzugefügt.

  6. Klicken Sie auf Commit.

    Screenshot: Fenster für die Quellcodeverwaltung mit zwei ausgewählten Änderungen, die committet werden sollen

Nachdem die Änderungen committet wurden, werden die committeten Elemente aus der Liste entfernt, und der Arbeitsbereich verweist auf den neuen Commit, mit dem er synchronisiert wird.

Screenshot: Fenster für die Quellcodeverwaltung, das darauf hinweist, dass keine zu committenden Änderungen verfügbar sind

Nachdem der Commit erfolgreich abgeschlossen wurde, ändert sich der Status der ausgewählten Elemente von Nicht committet in Synchronisiert.

Aktualisieren des Arbeitsbereichs über Git

Jedes Mal, wenn eine neue Änderung an den verbundenen Git-Branch committet wird, wird eine Benachrichtigung im entsprechenden Arbeitsbereich angezeigt. Verwenden Sie den Bereich Quellcodeverwaltung, um die neuesten Änderungen, Merges oder Wiederherstellungen in den Arbeitsbereich zu pullen und Liveelemente zu aktualisieren. Informieren Sie sich weiter über Aktualisierungen.

Führen Sie die folgenden Schritte aus, um einen Arbeitsbereich zu aktualisieren:

  1. Wechseln Sie zum Arbeitsbereich.
  2. Wählen Sie das Symbol für die Quellcodeverwaltung aus.
  3. Wählen Sie im Bereich Quellcodeverwaltung die Option Updates. Es wird eine Liste mit allen Elementen angezeigt, die seit der letzten Aktualisierung im Branch geändert wurden.
  4. Wählen Sie Alle aktualisieren aus.

Screenshot: Bereich für die Quellcodeverwaltung mit geöffneter Registerkarte „Aktualisierungen“ und ausgewählter Schaltfläche „Alle aktualisieren“.

Nach der erfolgreichen Aktualisierung wird die Liste der Elemente entfernt, und der Arbeitsbereich verweist auf den neuen Commit, mit dem er synchronisiert wird.

Screenshot: Fenster für die Quellcodeverwaltung, das darauf hinweist, dass Sie den Arbeitsbereich erfolgreich aktualisiert haben

Nachdem die Aktualisierung erfolgreich abgeschlossen wurde, ändert sich der Status der Elemente in Synchronisiert.

Trennen eines Arbeitsbereichs von Git

Nur Arbeitsbereichsadministratoren können einen Arbeitsbereich von einem Git-Repository trennen. Wenn Sie nicht über Administratorberechtigungen verfügen, bitten Sie Ihre Administrator*innen um Hilfe beim Löschen einer Verbindung. Wenn Sie Administrator*in sind und Ihr Repository trennen möchten, führen Sie die folgenden Schritte aus:

  1. Wechseln Sie zu Arbeitsbereichseinstellungen.
  2. Wählen Sie Git-Integration aus
  3. Wählen Sie Arbeitsbereich trennen aus
  4. Wählen Sie zur Bestätigung erneut Trennen aus.

Berechtigungen

Welche Aktionen Sie für einen Arbeitsbereich ausführen können, hängt von den Berechtigungen ab, über die Sie sowohl im Arbeitsbereich als auch im Git-Repository verfügen. Eine ausführlichere Erläuterung der Berechtigungen finden Sie unter Berechtigungen.

Überlegungen und Einschränkungen

Allgemeine Einschränkungen bei der Git-Integration

  • Die Authentifizierungsmethode in Fabric muss mindestens so stark sein wie die Authentifizierungsmethode für Git. Wenn Git beispielsweise eine Multi-Faktor-Authentifizierung erfordert, muss Fabric auch eine Multi-Faktor-Authentifizierung erfordern.
  • Power BI-Datasets, die mit Analysis Services verbunden sind, werden derzeit nicht unterstützt.
  • Arbeitsbereiche mit installierten Vorlagen-Apps können nicht mit Git verbunden werden.
  • Sovereign Clouds werden nicht unterstützt.
  • Das Azure DevOps-Konto muss für den Benutzer registriert werden, der auch den Fabric-Arbeitsbereich verwendet.
  • Der Mandantenadministrator muss geoübergreifende Exporte aktivieren, wenn sich der Arbeitsbereich und das Git Repository in zwei verschiedenen geografischen Regionen befinden.
  • Das Größenlimit für ein Commit beträgt 125 MB.

GitHub Enterprise-Einschränkungen

Einige GitHub Enterprise-Einstellungen werden nicht unterstützt. Zum Beispiel:

Einschränkungen bei Arbeitsbereichen

  • Nur der Arbeitsbereichs-Admin ist in der Lage, Verbindungen mit dem Git-Repository zu verwalten, also z. B. Verbindungen herzustellen bzw. zu trennen oder einen Branch hinzuzufügen.
    Sobald die Verbindung hergestellt wurde, kann jeder mit der geeigneten Berechtigung im Arbeitsbereich arbeiten.
  • Die Struktur des Arbeitsbereichordners wird nicht im Git-Repository wiedergegeben. Arbeitsbereichselemente in Ordnern werden in das Stammverzeichnis exportiert.

Einschränkungen bei Branches und Ordnern

  • Ein Branchname darf maximal 244 Zeichen lang sein.
  • Die maximale Länge des vollständigen Pfads für Dateinamen beträgt 250 Zeichen. Längere Namen verursachen einen Fehler.
  • Die maximale Dateigröße beträgt 25 MB.
  • Sie können einen Bericht/ein Dataset nicht als PBIX-Datei aus dem Dienst herunterladen, nachdem Sie diese mit der Git-Integration bereitgestellt haben.
  • Bei der Benennung eines Ordners in Git wird die logische ID (Guid) als Präfix vor dem Typ des Anzeigenamens des Artikels hinzugefügt:
    • mehr als 256 Zeichen enthält,
    • Endet mit . oder einem Leerzeichen
    • Beinhaltet eines der nachstehenden Zeichen: " / : < > \ * ? |

Verzweigungseinschränkungen

  • Verzweigung erfordert Berechtigungen, die in der Berechtigungstabelle aufgeführt sind.
  • Für diese Aktion muss eine verfügbare Kapazität vorhanden sein.
  • Alle Arbeitsbereichs- und Zweignamensbeschränkungen gelten auch bei der Verzweigung in einen neuen Arbeitsbereich.
  • Beim Verzweigen wird ein neuer Arbeitsbereich erstellt. Die Einstellungen aus dem ursprünglichen Arbeitsbereich werden nicht kopiert. Passen Sie alle Einstellungen oder Definitionen an, um sicherzustellen, dass der neue Arbeitsbereich den Richtlinien Ihrer Organisation entspricht.
  • Nur unterstützte Git-Elemente sind im neuen Arbeitsbereich verfügbar.
  • In der Liste der verwandten Verzweigungen werden nur Verzweigungen und Arbeitsbereiche angezeigt, die Sie zum Anzeigen berechtigt sind.
  • Die Git-Integration muss aktiviert sein.

Einschränkungen bei Synchronisierungen und Commits

  • Die Synchronisierung kann jeweils nur in eine Richtung ausgeführt werden. Commits und Updates können nicht gleichzeitig ausgeführt werden.
  • Vertraulichkeitsbezeichnungen werden nicht unterstützt, und das Exportieren von Elementen mit Vertraulichkeitsbezeichnungen ist möglicherweise deaktiviert. Um Elemente mit Vertraulichkeitsbezeichnungen ohne die Vertraulichkeitsbezeichnung zu committen, bitten Sie Ihren Administrator um Unterstützung.
  • Funktioniert mit einer begrenzten Anzahl von Elementen. Nicht unterstützte Artikel im Ordner werden ignoriert.
  • Das Duplizieren von Namen ist nicht zulässig. Selbst wenn dies in Power BI unterstützt wird, schlägt die Aktion update, commit oder undo fehl.
  • B2B wird nicht unterstützt.
  • Konflikte werden teilweise in Git gelöst.
  • Während des Commit-Vorgangs an Git löscht der Fabric-Dienst alle Dateien im Artikel-Ordner, die nicht Teil der Artikel-Definition sind. Nicht verknüpfte Dateien, die sich nicht in einem Artikel-Ordner befinden, werden nicht gelöscht.
  • Nach dem Committen von Änderungen werden Sie möglicherweise einige unerwartete Änderungen an dem Element feststellen, die Sie nicht vorgenommen haben. Diese Änderungen sind semantisch unbedeutend und können aus verschiedenen Gründen auftreten. Beispiel:
    • Manuelles Ändern der Elementdefinitionsdatei. Diese Änderungen sind gültig, können sich aber von denen unterscheiden, die über die Editors vorgenommen werden. Wenn Sie beispielsweise eine Semantikmodellspalte in Git umbenennen und diese Änderung in den Arbeitsbereich importieren, wird die BIM-Datei beim nächsten Commit von Änderungen an das Semantikmodell als geändert registriert, und die geänderte Spalte wird an das Ende des columns-Arrays gepusht. Dies liegt daran, dass die AS-Engine, die die BIM-Dateien generiert, umbenannte Spalten an das Ende des Arrays pusht. Diese Änderung wirkt sich nicht auf die Funktionsweise des Elements aus.
    • Committen einer Datei, die CRLF-Zeilenumbrüche verwendet. Der Dienst verwendet Zeilenvorschub-Zeilenumbrüche (Line Feed, LF). Wenn im Git-Repository Elementdateien mit CRLF-Zeilenumbrüchen vorhanden waren, werden diese Dateien beim Committen über den Dienst in LFs geändert. Wenn Sie beispielsweise einen Bericht auf dem Desktop öffnen, speichern Sie das PBIP-Projekt, und laden Sie es mithilfe von CRLF in Git hoch.
  • Beim Aktualisieren eines Semantikmodells mithilfe der API für erweiterte Aktualisierungen wird nach jeder Aktualisierung ein Git-Diff erstellt.