Freigeben über


Grundlegende Konzepte der Git-Integration

In diesem Artikel werden grundlegende Git-Konzepte und die Integration von Git in Ihren Microsoft Fabric-Arbeitsbereich erläutert.

Berechtigungen

  • Um die Git-Integration verwenden zu können, muss der Administrator Ihrer Organisation diese aktivieren werden.
  • Wenn sich der Arbeitsbereich und das Azure Repository in zwei verschiedenen Regionen befinden, muss der Mandantenadministrator den geoübergreifenden Export aktivieren. Diese Einschränkung gilt nicht für GitHub.
  • Die Aktionen, die Sie in einem Arbeitsbereich durchführen können, hängen von den Berechtigungen ab, die Sie sowohl im Arbeitsbereich als auch in Git haben, wie in den nachfolgenden Abschnitten aufgeführt.

Die folgende Liste zeigt, welche Möglichkeiten verschiedene Arbeitsbereichs-Rollen abhängig von ihren Git Repository-Berechtigungen bieten:

  • Admin: Kann beliebige Vorgänge im Arbeitsbereich ausführen. Diese werden nur durch die Git-Rolle eingeschränkt.
  • Mitglied/Mitwirkender: Sobald sie eine Verbindung mit einem Arbeitsbereich herstellen, kann ein Mitglied/Mitwirkender je nach Git-Rolle Änderungen committen und aktualisieren. Bei Aktionen im Zusammenhang mit der Arbeitsbereichsverbindung (z. B. Verbinden, Trennen oder Wechseln zwischen Branches) benötigen Sie Unterstützung von einem Administrator.
  • Betrachter: Kann keine Aktionen ausführen. Der Betrachter kann keine Git-bezogenen Informationen im Arbeitsbereich sehen.

Arbeitsbereichsrollen

In der folgenden Tabelle werden die Berechtigungen beschrieben, die zum Ausführen verschiedener allgemeiner Vorgänge im Fabric-Arbeitsbereich erforderlich sind:

Vorgang Arbeitsbereichsrolle
Arbeitsbereich mit Git-Repository verbinden Administrator
Arbeitsbereich mit Git-Repository synchronisieren Administrator
Arbeitsbereich von Git-Repository trennen Administrator
Branch im Arbeitsbereich wechseln (oder beliebige Änderung an der Verbindungseinstellung) Administrator
Git-Verbindungsdetails anzeigen Administrator, Mitglied, Mitwirkender
„Git-Status“ des Arbeitsbereichs anzeigen Administrator, Mitglied, Mitwirkender
Aus Git aktualisieren Alle folgenden Rollen:

Mitwirkender im Arbeitsbereich (WRITE-Berechtigung für alle Elemente)

Besitzer des Elements (wenn der Mandantenwechsel Updates für Nichtbesitzer blockiert)

BUILD für externe Abhängigkeiten (sofern zutreffend)
Arbeitsbereichsänderungen in Git committen Alle folgenden Rollen:

Mitwirkender im Arbeitsbereich (WRITE-Berechtigung für alle Elemente)

Besitzer des Elements (wenn der Mandantenwechsel Updates für Nichtbesitzer blockiert)

BUILD für externe Abhängigkeiten (sofern zutreffend)
Neuen Git-Branch in Fabric erstellen Administrator
Verzweigen Sie in einen neuen Arbeitsbereich Administrator, Mitglied, Mitwirkender

Git-Rollen

In der folgenden Tabelle werden die Git-Berechtigungen beschrieben, die zum Ausführen verschiedener allgemeiner Vorgänge erforderlich sind:

Vorgang Git-Berechtigungen
Arbeitsbereich mit Git-Repository verbinden Read=Allow
Arbeitsbereich mit Git-Repository synchronisieren Read=Allow
Arbeitsbereich von Git-Repository trennen Keine Berechtigungen erforderlich
Branch im Arbeitsbereich wechseln (oder beliebige Änderung an der Verbindungseinstellung) Read=Allow (in Zielrepository/-verzeichnis/-branch)
Git-Verbindungsdetails anzeigen Read oder keine
„Git-Status“ des Arbeitsbereichs anzeigen Read=Allow
Aus Git aktualisieren Read=Allow
Arbeitsbereichsänderungen in Git committen Read=Allow
Contribute=Allow
Branchrichtlinie sollte direkte Commits zulassen
Neuen Git-Branch in Fabric erstellen Role=Write
Create branch=Allow
Verzweigen Sie in einen neuen Arbeitsbereich Read=Allow
Create branch=Allow

Verbinden und Synchronisieren

Ein Arbeitsbereich kann nur von einem Arbeitsbereichsadministrator mit Git Repos verbunden werden. Sobald die Verbindung jedoch hergestellt wurde, kann jeder mit entsprechenden Berechtigungen im Arbeitsbereich arbeiten. Wenn Sie kein Administrator sind, bitten Sie Ihren Administrator um Hilfe beim Herstellen einer Verbindung.

Wenn Sie einen Arbeitsbereich mit Git verbinden, wird Fabric zwischen den beiden Orten synchronisiert, sodass sie über dieselben Inhalte verfügen. Wenn bei dieser anfänglichen Synchronisierung entweder der Arbeitsbereich oder der Git-Branch leer ist, während der andere Inhalte aufweist, wird der Inhalt vom nicht leeren Ort an den leeren kopiert. Wenn sowohl der Arbeitsbereich als auch der Git-Branch über Inhalte verfügen, müssen Sie entscheiden, in welche Richtung die Synchronisierung erfolgen soll.

  • Wenn Sie Ihren Arbeitsbereich in den Git-Branch committen, werden alle unterstützten Arbeitsbereichsinhalte nach Git exportiert und die aktuellen Git-Inhalte überschrieben.
  • Wenn Sie den Arbeitsbereich mit den Inhalten aus Git aktualisieren, werden die Arbeitsbereichsinhalte überschrieben und gehen verloren. Während ein Git-Branch immer auf eine frühere Phase zurückgesetzt werden kann, ist das bei einem Arbeitsbereich nicht möglich. Daher werden Sie bei Auswahl dieser Option aufgefordert, den Vorgang zu bestätigen.

Screenshot: Dialogfeld, in dem die Synchronisierungsrichtung angegeben werden muss, wenn sowohl Git als auch der Arbeitsbereich über Inhalte verfügen

Wenn Sie nicht auswählen, welche Inhalte synchronisiert werden sollen, können Sie nicht weiterarbeiten.

Screenshot: Hinweis, dass Sie erst weiterarbeiten können, nachdem der Arbeitsbereich synchronisiert wurde

Verbindung zu einem gemeinsamen Arbeitsbereich

Wenn Sie versuchen, eine Verbindung mit einem Arbeitsbereich herzustellen, der bereits mit Git verbunden ist, wird möglicherweise die folgende Meldung angezeigt:

Screenshot der Fehlermeldung, die besagt, dass Sie sich bei einem Git-Konto anmelden.

Gehen Sie auf die Registerkarte Konten auf der rechten Seite der Quellcodeverwaltung, wählen Sie ein Konto aus und verbinden Sie sich damit.

Screenshot der Registerkarte Konten, auf der der Benutzer eine Verbindung mit einem GitHub-Konto herstellt.

Befehl „git status“

Nachdem Sie eine Verbindung hergestellt haben, wird im Arbeitsbereich eine Spalte mit dem Git-Status angezeigt, in der der Synchronisierungsstatus jedes Elements im Arbeitsbereich im Verhältnis zu den Elementen im Remotebranch angegeben ist.

Screenshot: Elemente in einem Arbeitsbereich mit gekennzeichnetem Git-Status

Jedes Element weist eine der folgenden Statusangaben auf:

  • Synchronisiert (das Element ist im Arbeitsbereich und im Git-Branch identisch)
  • Konflikt (das Element wurde sowohl im Arbeitsbereich als auch im Git-Branch geändert)
  • Nicht unterstütztes Element
  • Ausgecheckte Änderungen im Arbeitsbereich
  • Update aus Git erforderlich
  • Das Element ist an beiden Stellen identisch, muss jedoch auf den letzten Commit aktualisiert werden

Informationen zur Synchronisierung

Solange Sie verbunden sind, werden die folgenden Informationen am unteren Bildschirmrand angezeigt:

  • Verbundener Branch
  • Zeitpunkt der letzten Synchronisierung
  • Link zum letzten Commit, mit dem der Arbeitsbereich synchronisiert wurde

Screenshot: Synchronisierungsinformationen, die am unteren Bildschirmrand angezeigt werden, wenn eine Verbindung mit Git besteht

Quellcodeverwaltungsbereich

Oben im Bildschirm befindet sich das Quellcodeverwaltungssymbol. Darin wird angezeigt, wie viele Elemente sich zwischen dem Arbeitsbereich und dem Git-Branch unterscheiden. Wenn Änderungen am Arbeitsbereich oder am Git-Branch vorgenommen werden, wird die Nummer aktualisiert. Wenn der Arbeitsbereich mit dem Git-Branch synchronisiert wird, wird im Quellcodeverwaltungssymbol 0 angezeigt.

Screenshot: Quellcodeverwaltungssymbol gibt an, dass null Elemente geändert wurden.

Wählen Sie das Quellcodeverwaltungssymbol aus, um den Quellcodeverwaltungsbereich zu öffnen.

Die Systemsteuerung Quellcodeverwaltung verfügt über drei Registerkarten auf der Seite:

Commits und Updates

Wenn Änderungen am Arbeitsbereich oder am Git-Branch vorgenommen werden, wird im Quellcodeverwaltungssymbol angezeigt, wie viele Elemente unterschiedlich sind. Wählen Sie das Quellcodeverwaltungssymbol aus, um den Quellcodeverwaltungsbereich zu öffnen.

Der Commit- und Aktualisierungsbereich verfügt über zwei Abschnitte.

Änderungen zeigen die Anzahl der Elemente an, die im Arbeitsbereich geändert wurden und für Git übernommen werden müssen.
Aktualisierungen zeigen die Anzahl der Elemente an, die im Git-Branch geändert wurden und die im Arbeitsbereich aktualisiert werden müssen.

In jedem Abschnitt werden die geänderten Elemente mit einem Symbol aufgeführt, das den Status angibt:

  • neu
  • geändert
  • gelöscht
  • Konflikt

Die Schaltfläche "Aktualisieren" oben im Bereich aktualisiert die Liste der Änderungen und Updates.

Screenshot: Quellcodeverwaltungsbereich mit dem Status der geänderten Elemente

Commit

  • Elemente im Arbeitsbereich, die geändert wurden, werden im Abschnitt Änderungen aufgeführt. Bei mehreren geänderten Elementen können Sie auswählen, welche Elemente an den Git-Branch übertragen werden sollen.
  • Wenn Updates für den Git-Branch vorgenommen wurden, werden Commits deaktiviert, bis Sie Ihren Arbeitsbereich aktualisieren.

Aktualisieren

  • Im Gegensatz zu commit und undo wird mit dem Befehl update immer der gesamte Branch aktualisiert und eine Synchronisierung mit dem letzten Commit ausgeführt. Sie können keine bestimmten Elemente für das Update auswählen.
  • Wenn Änderungen im Arbeitsbereich und im Git-Branch für dasselbe Element vorgenommen wurden, werden Updates deaktiviert, bis der Konflikt behoben ist.

Weitere Informationen zum Ausführen von Commits und Updates finden Sie hier. Weitere Informationen zum Updateprozess und zum Beheben von Konflikten finden Sie hier.

Branches

Auf der Registerkarte Verzweigungen der Systemsteuerung Quellcodeverwaltung können Sie Ihre Verzweigungen verwalten und verzweigte Aktionen ausführen. Sie verfügt über zwei Hauptabschnitte:

  • Aktionen, die Sie für den Current Branch ausführen können:

    • Verzweigung zu neuem Arbeitsbereich (beliebige Rolle): Erzeugt einen neuen Arbeitsbereich und einen neuen Zweig auf der Grundlage der letzten Übertragung des mit dem aktuellen Arbeitsbereich verbundenen Zweigs. Es wird eine Verbindung mit dem neuen Arbeitsbereich und der neuen Verzweigung hergestellt.
    • Neuen Branch auschecken (muss Arbeitsbereichsadministrator sein): erzeugt eine neue Verzweigung auf der Grundlage der letzten synchronisierten Übertragung im Arbeitsbereich und ändert die Git-Verbindung im aktuellen Arbeitsbereich. Der Arbeitsbereichinhalt wird nicht geändert.
    • Branch wechseln (muss Arbeitsbereichsadministrator sein): synchronisiert den Arbeitsbereich mit einem anderen neuen oder vorhandenen Branch und ersetzt alle Elemente im Arbeitsbereich durch den Inhalt des ausgewählten Branchs.

    Screenshot der Registerkarte Verzweigung in der Systemsteuerung Quellcodeverwaltung.

  • Verwandte Verzweigungen.
    Auf der Registerkarte Verzweigungen gibt es auch eine Liste verwandter Arbeitsbereiche, zu der Sie auswählen und wechseln können. Ein verwandter Arbeitsbereich ist ein Arbeitsbereich mit denselben Verbindungseigenschaften wie der Current Branch, z. B. dieselbe Organisation, dasselbe Projekt, dasselbe Repository und denselben Git-Ordner.
    Auf diese Weise können Sie zu Arbeitsbereichen navigieren, die mit anderen Verzweigungen im Zusammenhang mit dem Kontext Ihrer aktuellen Arbeit verbunden sind, ohne sie in Ihrer Liste der Fabric-Arbeitsbereiche suchen zu müssen.
    Klicken Sie auf einen Artikel in der Liste, um den entsprechenden Arbeitsbereich zu öffnen.

    Screenshot einer Liste verwandter Verzweigungen, zu denen der Benutzer wechseln kann.

Weitere Informationen finden Sie unter Verzweigungseinschränkungen.

Kontodetails

Auf der Registerkarte Kontodetails werden Details des GitHub-Kontos angezeigt, mit dem der Benutzer verbunden ist. Sie verfügt über zwei Hauptabschnitte. Im oberen Abschnitt werden der Git-Anbieter und der Kontoname angezeigt. Der untere Abschnitt zeigt Repository und Branch, mit denen der Arbeitsbereich verbunden ist. Derzeit ist diese Registerkarte nur für Arbeitsbereiche verfügbar, die mit GitHub verbunden sind.

Zu den GitHub-Kontodetails gehören:

  • Git-Kontodetails

    • Anbieter
    • Account name
  • Git-Repository

  • Verzweigung

Screenshot der Registerkarte Konten in der Systemsteuerung Quellcodeverwaltung mit den Git-Details und Repository- und Branch-Namen.

Ü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.
  • Wenn Ihre Organisation den bedingten Zugriff eingerichtet hat, stellen Sie sicher, dass im Power BI-Dienst wie erwartet dieselben Bedingungen für die Authentifizierung festgelegt sind.
  • 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.
  • Git-Ordner verwenden die logische ID (GUID) als Präfix vor dem Typ, wenn der Anzeigename des Elements wie folgt lautet:
    • 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.