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

  • Der Administrator Ihrer Organisation muss Git-Integrationaktivieren.
  • Der Mandantenadministrator muss den geoübergreifenden Export aktivieren, wenn sich der Arbeitsbereich und Azure Repository in zwei verschiedenen Regionen befinden. Diese Einschränkung gilt nicht für GitHub.
  • Die Berechtigungen, die Sie sowohl im Arbeitsbereich als auch in Git haben, wie in den nächsten Abschnitten aufgeführt, bestimmen die Aktionen, die Sie ausführen können.

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 ein Mitglied/Mitwirkender eine Verbindung zu einem Arbeitsbereich herstellt, kann er je nach Git-Rolle Änderungen übernehmen 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 Admin
Arbeitsbereich mit Git-Repository synchronisieren Admin
Arbeitsbereich von Git-Repository trennen Admin
Branch im Arbeitsbereich wechseln (oder beliebige Änderung an der Verbindungseinstellung) Admin
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)
Änderungen des Arbeitsbereichs in Git festschreiben 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 Admin
Wechseln zu einem anderen 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 Lesen=Erlauben
Arbeitsbereich mit Git-Repository synchronisieren Lesen=Erlauben
Arbeitsbereich von Git-Repository trennen Keine Berechtigungen erforderlich
Branch im Arbeitsbereich wechseln (oder beliebige Änderung an der Verbindungseinstellung) Read=Allow (im 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 Lesen=Erlauben
Contribute=Allow
Branchrichtlinie sollte direkte Commits zulassen
Neuen Git-Branch in Fabric erstellen Rolle=Schreiben
Branch erstellen=Erlauben
Zu einem anderen Arbeitsbereich wechseln Lesen=Erlauben
Branch erstellen=Erlauben

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

Ordner

Ordner werden in Git noch nicht unterstützt. Derzeit werden alle Elemente auf der obersten Ebene des Git-Ordners angezeigt, auch wenn Ihr Arbeitsbereich Ordner enthält.

Hinweis

Wenn Ihr Arbeitsbereich Ordner enthält und der verbundene Git-Ordner noch keine Unterordner enthält, gelten sie als anders. Im Quellcodeverwaltungsbereich wird der Status Ausgecheckte Änderungen angezeigt. Sie müssen die Änderungen an Git committen, bevor Sie den Arbeitsbereich aktualisieren. Wenn Sie zuerst aktualisieren, überschreibt die Git-Ordnerstruktur die Ordnerstruktur des Arbeitsbereichs. Weitere Informationen finden Sie unter Sicherer Umgang mit Ordneränderungen.

Sicheres Behandeln von Ordneränderungen

Wenn Ihr Arbeitsbereich Ordner enthält und der verbundene Git-Ordner noch keine Unterordner enthält, werden sie als unterschiedlich angesehen, da die Ordnerstruktur unterschiedlich ist. Wenn Sie einen Arbeitsbereich verbinden, der Ordner in Git enthält, wird im Quellcodeverwaltungsbereich der Status Ausgecheckte Änderungen angezeigt. Sie müssen die Änderungen an Git committen, bevor Sie den Arbeitsbereich aktualisieren.

Wenn Sie Änderungen aufgrund von Branchrichtlinien oder -berechtigungen nicht direkt am verbundenen Branch vornehmen können, wird empfohlen, die Option Branch auschecken zu verwenden:

  1. Auschecken eines neuen Branches: Verwenden Sie das Feature zum Auschecken von Branches, um einen Branch mit dem aktualisierten Status Ihres Fabric-Arbeitsbereichs zu erstellen.
  2. Committen von Ordneränderungen: Änderungen am Arbeitsbereichsordner können dann an diesen neuen Branch committet werden.
  3. Mergen von Änderungen: Verwenden Sie Ihre gewohnten Pull Requests (PR) und Mergeprozesse, um diese Updates wieder in den ursprünglichen Branch zu integrieren.

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 Ihnen mitteilt, sich bei einem Git-Konto anzumelden.

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 von Elementen in einem Arbeitsbereich, deren Git-Status gekennzeichnet ist.

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 Zweig
  • 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, zeigt das Symbol für die Quellcodeverwaltung 0 an.

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

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

Der Quellcodeverwaltungsbereich enthält 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 Update-Panel 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.

Zweige

Auf der Registerkarte Zweige des Steuerungsbedienfelds für die Quellcodeverwaltung können Sie Ihre Zweige verwalten und Zweige betreffende Aktionen ausführen. Sie verfügt über zwei Hauptabschnitte:

  • Aktionen, die Sie im aktuellen Zweig ausführen können:

    • Zu anderem Arbeitsbereich branchen (Mitwirkender und höher): erstellt einen neuen Arbeitsbereich oder wechselt basierend auf dem letzten Commit im aktuellen Arbeitsbereich zu einem vorhandenen Arbeitsbereich. Anschließend wird eine Verbindung mit dem Zielarbeitsbereich und dem Zielbranch hergestellt.
    • Neuen Branch auschecken (muss Arbeitsbereichsadministrator sein): Erstellt einen neuen Branch basierend auf dem zuletzt synchronisierten Commit im Arbeitsbereich und ändert die Git-Verbindung im aktuellen Arbeitsbereich. Der Inhalt des Arbeitsbereichs 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 zum Branchen im Quellcodeverwaltungsbereich

  • 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.
    Mit diesem Feature 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.
    Um den relevanten Arbeitsbereich zu öffnen, wählen Sie das Element in der Liste aus.

    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 Abschnitte. 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
    • Kontoname
  • Git-Repository

  • Zweig

Screenshot der Registerkarte „Konten“ im Quellcodeverwaltungsbereich mit Git-Details und den Repository- und Branchnamen

Ü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.
  • Untermodule werden nicht unterstützt.
  • Sovereign Clouds werden nicht unterstützt.
  • Das Azure DevOps-Konto muss für den Benutzer registriert werden, der auch den Fabric-Arbeitsbereich verwendet.
  • Azure DevOps wird nicht unterstützt, wenn Überprüfung bedingter IP-Zugriffsrichtlinien aktivieren aktiviert ist.
  • 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 konfiguriert 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 von 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.

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 Fehler.
  • Die maximale Dateigröße beträgt 25 MB.
  • Die Ordnerstruktur wird bis zu 10 Ebenen tief beibehalten.
  • Sie können einen Bericht/ein Dataset nicht als PBIX-Datei aus dem Dienst herunterladen, nachdem Sie diese mit der Git-Integration bereitgestellt haben.
  • Wenn der Anzeigename des Elements eines dieser Merkmale aufweist, wird der Git-Ordner in die logische ID (Globally Unique Identifier, GUID) und den entsprechenden Typ umbenannt:
  • Wenn Sie einen Arbeitsbereich mit Ordnern mit Git verbinden, müssen Sie Änderungen am Git-Repository übernehmen, wenn diese Ordnerstruktur unterschiedlich ist.

Einschränkungen für Verzeichnisnamen

  • Der Name des Verzeichnisses, das eine Verbindung mit dem Git-Repository herstellt, hat die folgenden Benennungseinschränkungen:

    • Der Verzeichnisname kann nicht mit einem Leerzeichen oder einer Registerkarte beginnen oder enden.
    • Der Verzeichnisname darf keines der folgenden Zeichen enthalten: "/:<>\*?|
  • Der Elementordner (der Ordner, der die Elementdateien enthält) darf keines der folgenden Zeichen enthalten: ":<>\*?|. Wenn Sie den Ordner in etwas umbenennen, das eines dieser Zeichen enthält, kann Git keine Verbindung mit dem Arbeitsbereich herstellen oder synchronisieren, und ein Fehler tritt auf.

Verzweigungseinschränkungen

  • Zum Verzweigen sind die in der Berechtigungstabelle aufgeführten Berechtigungen erforderlich.
  • Für diese Aktion muss eine verfügbare Kapazität vorhanden sein.
  • Alle Arbeitsbereichs- und Brachnamensbeschränkungen gelten auch bei Verzweigungen in einen neuen Arbeitsbereich.
  • Nur unterstützte Git-Elemente sind im neuen Arbeitsbereich verfügbar.
  • In der Liste der verwandten Branches werden nur Branches und Arbeitsbereiche angezeigt, die Sie anzuzeigen berechtigt sind.
  • Die Git-Integration muss aktiviert sein.
  • Beim Verzweigen wird eine neue Verzweigung erstellt, und die Einstellungen aus der ursprünglichen Verzweigung werden nicht kopiert. Passen Sie alle Einstellungen oder Definitionen an, um sicherzustellen, dass das neue die Richtlinien Ihrer Organisation erfüllt.
  • Beim Wechseln zu einem vorhandenen Arbeitsbereich:
    • Der Zielarbeitsbereich muss eine Git-Verbindung unterstützen.
    • Der Benutzer muss ein Administrator des Zielarbeitsbereichs sein.
    • Der Zielarbeitsbereich muss über Kapazität verfügen.
    • Der Arbeitsbereich kann keine Vorlagen-Apps enthalten.
  • Beachten Sie, dass beim Verzweigen zu einem Arbeitsbereich alle Elemente, die nicht auf Git gespeichert sind, verloren gehen können. Es wird empfohlen, alle Elemente, die Sie beibehalten möchten, vor dem Verzweigen zu committen.

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 Ihr Administratorteam 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 Power BI die Namensduplizierung erlaubt, 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 Sie im Git-Repository Dateien mit CRLF-Zeilenumbrüchen hatten, werden diese Dateien beim Dienst-Commit in LF geändert. Wenn Sie beispielsweise einen Bericht auf dem Desktop öffnen, speichern Sie die Projektdatei (.pbip) und laden Sie sie mit CRLFauf Git hoch.
  • Beim Aktualisieren eines Semantikmodells mithilfe der API für erweiterte Aktualisierungen wird nach jeder Aktualisierung ein Git-Diff erstellt.