Delen via


Basisconcepten in Git-integratie

In dit artikel worden de basisconcepten van Git en het proces voor het integreren van Git met uw Microsoft Fabric-werkruimte uitgelegd.

Machtigingen

  • Als u Git-integratie wilt gebruiken, moet de beheerder van uw organisatie deze inschakelen door de beheerder van uw organisatie.
  • Als de werkruimte en De Azure-opslagplaats zich in twee verschillende regio's bevinden, moet de tenantbeheerder cross-geo-export inschakelen. Deze beperking is niet van toepassing op GitHub.
  • De acties die u voor een werkruimte kunt uitvoeren, zijn afhankelijk van de machtigingen die u hebt in zowel de werkruimte als Git, zoals wordt vermeld in de volgende secties.

In de volgende lijst ziet u wat verschillende werkruimterollen kunnen doen, afhankelijk van hun machtigingen in hun Git-opslagplaats:

  • Beheerder: Kan elke bewerking uitvoeren in de werkruimte, alleen beperkt door hun Git-rol.
  • Lid/inzender: zodra ze verbinding maken met een werkruimte, kan een lid/inzender wijzigingen doorvoeren en bijwerken, afhankelijk van hun Git-rol. Voor acties met betrekking tot de werkruimteverbinding (bijvoorbeeld verbinding maken, verbreken of schakelen tussen vertakkingen) zoekt u hulp van een beheerder.
  • Viewer: Kan geen acties uitvoeren. De viewer kan geen git-gerelateerde informatie in de werkruimte zien.

Werkruimterollen

In de volgende tabel worden de machtigingen beschreven die nodig zijn in de infrastructuurwerkruimte om verschillende algemene bewerkingen uit te voeren:

Bewerking Werkruimterol
Werkruimte verbinden met Git-opslagplaats Beheerder
Werkruimte synchroniseren met Git-opslagplaats Beheerder
Werkruimte loskoppelen van Git-opslagplaats Beheerder
Schakelen tussen vertakkingen in de werkruimte (of eventuele wijzigingen in de verbindingsinstelling) Beheerder
Git-verbindingsgegevens weergeven Beheerder, lid, inzender
Werkruimte 'Git-status' bekijken Beheerder, lid, inzender
Bijwerken vanuit Git Alle volgende opties:

Inzender in de werkruimte (schrijfmachtiging voor alle items)

Eigenaar van het item (als de tenant-switch updates voor niet-eigenaren blokkeert)

BOUWEN op externe afhankelijkheden (indien van toepassing)
Werkruimtewijzigingen doorvoeren in Git Alle volgende opties:

Inzender in de werkruimte (schrijfmachtiging voor alle items)

Eigenaar van het item (als de tenant-switch updates voor niet-eigenaren blokkeert)

BOUWEN op externe afhankelijkheden (indien van toepassing)
Nieuwe Git-vertakking maken vanuit Fabric Beheerder
Vertakking naar een nieuwe werkruimte Beheerder, lid, inzender

Git-rollen

In de volgende tabel worden de Git-machtigingen beschreven die nodig zijn om verschillende algemene bewerkingen uit te voeren:

Bewerking Git-machtigingen
Werkruimte verbinden met Git-opslagplaats Lezen=Toestaan
Werkruimte synchroniseren met Git-opslagplaats Lezen=Toestaan
Werkruimte loskoppelen van Git-opslagplaats Er zijn geen machtigingen nodig
Schakelen tussen vertakkingen in de werkruimte (of eventuele wijzigingen in de verbindingsinstelling) Read=Allow (in doelopslagplaats/map/vertakking)
Git-verbindingsgegevens weergeven Lezen of Geen
Werkruimte 'Git-status' bekijken Lezen=Toestaan
Bijwerken vanuit Git Lezen=Toestaan
Werkruimtewijzigingen doorvoeren in Git Lezen=Toestaan
Bijdragen=Toestaan
vertakkingsbeleid moet directe doorvoer toestaan
Nieuwe Git-vertakking maken vanuit Fabric Role=Write
Vertakking maken=Toestaan
Vertakking naar een nieuwe werkruimte Lezen=Toestaan
Vertakking maken=Toestaan

Verbinding maken en synchroniseren

Alleen een werkruimtebeheerder kan een werkruimte verbinden met een Git-opslagplaats, maar zodra deze is verbonden, kan iedereen met machtigingen in de werkruimte werken. Als u geen beheerder bent, vraagt u uw beheerder om hulp bij het maken van verbinding.

Wanneer u een werkruimte verbindt met Git, wordt Fabric gesynchroniseerd tussen de twee locaties, zodat ze dezelfde inhoud hebben. Tijdens deze eerste synchronisatie, als de werkruimte of Git-vertakking leeg is terwijl de andere inhoud heeft, wordt de inhoud gekopieerd van de lege locatie naar de lege locatie. Als zowel de werkruimte als de Git-vertakking inhoud hebben, moet u bepalen in welke richting de synchronisatie moet worden uitgevoerd.

  • Als u uw werkruimte doorvoert in de Git-vertakking, wordt alle ondersteunde werkruimte-inhoud geëxporteerd naar Git en wordt de huidige Git-inhoud overschreven.
  • Als u de werkruimte bijwerkt met de Git-inhoud, wordt de werkruimte-inhoud overschreven en verliest u uw werkruimte-inhoud. Omdat een Git-vertakking altijd kan worden hersteld naar een vorige fase terwijl een werkruimte dat niet kan, wordt u gevraagd om te bevestigen als u deze optie kiest.

Schermopname van het dialoogvenster waarin wordt gevraagd welke richting moet worden gesynchroniseerd als zowel Git als de werkruimte inhoud hebben.

Als u niet selecteert welke inhoud u wilt synchroniseren, kunt u niet doorgaan met werken.

Schermopnamemelding dat u niet verder kunt werken totdat de werkruimte is gesynchroniseerd.

Verbinding maken met een gedeelde werkruimte

Als u verbinding probeert te maken met een werkruimte die al is verbonden met Git, krijgt u mogelijk het volgende bericht:

Schermopname van een foutbericht waarin wordt opgegeven dat yo zich moet aanmelden bij een Git-account.

Ga naar het tabblad Accounts aan de rechterkant van het configuratiescherm Bron, kies een account en maak er verbinding mee.

Schermopname van het tabblad Accounts met een gebruiker die verbinding maakt met een GitHub-account.

Git-status

Nadat u verbinding hebt gemaakt, wordt in de werkruimte een Git-statuskolom weergegeven die de synchronisatiestatus aangeeft van elk item in de werkruimte ten opzichte van de items in de externe vertakking.

Schermopname van items in een werkruimte met de Git-status die wordt beschreven.

Elk item heeft een van de volgende statussen:

  • Gesynchroniseerd (het item is hetzelfde in de werkruimte en Git-vertakking)
  • Conflict (het item is gewijzigd in zowel de werkruimte als de Git-vertakking)
  • Niet-ondersteund item
  • Niet-doorgevoerde wijzigingen in de werkruimte
  • Update vereist vanuit Git
  • Item is op beide plaatsen identiek, maar moet worden bijgewerkt naar de laatste doorvoering

Synchronisatiegegevens

Zolang u verbinding hebt, wordt de volgende informatie onder aan het scherm weergegeven:

  • Verbonden vertakking
  • Tijd van laatste synchronisatie
  • Koppeling naar de laatste doorvoering waarnaar de werkruimte is gesynchroniseerd

Schermopname van synchronisatiegegevens die onder aan het scherm worden weergegeven wanneer u verbinding maakt met Git.

Deelvenster Broncodebeheer

Boven aan het scherm ziet u het pictogram Broncodebeheer . Het toont het aantal items dat verschilt in de werkruimte en Git-vertakking. Wanneer wijzigingen worden aangebracht in de werkruimte of de Git-vertakking, wordt het nummer bijgewerkt. Wanneer de werkruimte wordt gesynchroniseerd met de Git-vertakking, geeft het pictogram Broncodebeheer een 0 weer.

Schermopname van het broncodebeheerpictogram met nul gewijzigde items.

Selecteer het pictogram Broncodebeheer om het configuratiescherm Van de bron te openen.

Het deelvenster Bronbeheer heeft drie tabbladen aan de zijkant:

Doorvoeringen en updates

Wanneer er wijzigingen worden aangebracht in de werkruimte of de Git-vertakking, geeft het broncodebeheerpictogram het aantal items weer dat anders is. Selecteer het pictogram voor broncodebeheer om het configuratiescherm van de bron te openen.

Het deelvenster Doorvoeren en bijwerken heeft twee secties.

Wijzigingen geven het aantal items weer dat in de werkruimte is gewijzigd en moet worden doorgevoerd in Git.
Updates geven het aantal items weer dat is gewijzigd in de Git-vertakking en moet worden bijgewerkt naar de werkruimte.

In elke sectie worden de gewijzigde items weergegeven met een pictogram dat de status aangeeft:

  • Nieuw
  • gemodificeerd
  • Verwijderd
  • conflict

Met de knop Vernieuwen boven aan het deelvenster wordt de lijst met wijzigingen en updates bijgewerkt.

Schermopname van het broncodepaneel met de status van de gewijzigde items.

Doorvoeren

  • Items in de werkruimte die zijn gewijzigd, worden weergegeven in de sectie Wijzigingen . Wanneer er meer dan één gewijzigd item is, kunt u selecteren welke items u wilt doorvoeren naar de Git-vertakking.
  • Als er updates zijn aangebracht in de Git-vertakking, worden doorvoeringen uitgeschakeld totdat u uw werkruimte bijwerkt.

Bijwerken

  • In tegenstelling tot doorvoeren en ongedaan maken, werkt de opdracht Update altijd de hele vertakking bij en wordt gesynchroniseerd met de meest recente doorvoering. U kunt geen specifieke items selecteren die u wilt bijwerken.
  • Als er wijzigingen zijn aangebracht in de werkruimte en in de Git-vertakking op hetzelfde item, worden updates uitgeschakeld totdat het conflict is opgelost.

Lees meer over het doorvoeren en bijwerken. Lees meer over het updateproces en het oplossen van conflicten.

Vertakkingen

Op het tabblad Vertakkingen van het configuratiescherm Bron kunt u uw vertakkingen beheren en vertakkingsgerelateerde acties uitvoeren. Het bevat twee hoofdsecties:

  • Acties die u kunt uitvoeren op de huidige vertakking:

    • Vertakking naar nieuwe werkruimte (elke rol): Hiermee maakt u een nieuwe werkruimte en een nieuwe vertakking op basis van de laatste doorvoering van de vertakking die is verbonden met de huidige werkruimte. Er wordt verbinding gemaakt met de nieuwe werkruimte en de nieuwe vertakking.
    • Een nieuwe vertakking uitchecken (moet werkruimtebeheerder zijn): Hiermee maakt u een nieuwe vertakking op basis van de laatste gesynchroniseerde doorvoering in de werkruimte en wijzigt u de Git-verbinding in de huidige werkruimte. De inhoud van de werkruimte wordt niet gewijzigd.

    Schermopname van het tabblad Vertakking uit in het configuratiescherm van de bron.

  • Gerelateerde vertakkingen.
    Het tabblad Branches bevat ook een lijst met gerelateerde werkruimten waarnaar u kunt selecteren en overschakelen. Een gerelateerde werkruimte is een met dezelfde verbindingseigenschappen als de huidige vertakking, zoals dezelfde organisatie, project, opslagplaats en Git-map.
    Hiermee kunt u navigeren naar werkruimten die zijn verbonden met andere vertakkingen die zijn gerelateerd aan de context van uw huidige werk, zonder dat u ze hoeft te zoeken in uw lijst met Fabric-werkruimten.
    Klik op een item in de lijst om de relevante werkruimte te openen.

    Schermopname van een lijst met gerelateerde vertakkingen waarnaar de gebruiker kan overschakelen.

Zie Beperkingen voor vertakkingen voor meer informatie.

Details van account

Op het tabblad Accountdetails ziet u details van het GitHub-account waarmee de gebruiker is verbonden. Het heeft twee secties. In de bovenste sectie ziet u de Git-provider en de accountnaam. In de onderste sectie ziet u de opslagplaats en vertakking waarmee de werkruimte is verbonden. Dit tabblad is momenteel alleen beschikbaar voor werkruimten die zijn verbonden met GitHub.

GitHub-accountgegevens zijn onder andere:

  • Details van Git-account

    • Provider
    • Accountnaam
  • Git-opslagplaats

  • Vertakking

Schermopname van het tabblad Accounts in het configuratiescherm bron met de Git-details en de namen van opslagplaatsen en vertakkingen.

Overwegingen en beperkingen

Algemene beperkingen voor Git-integratie

  • De verificatiemethode in Fabric moet ten minste zo sterk zijn als de verificatiemethode voor Git. Als Git bijvoorbeeld meervoudige verificatie vereist, moet Fabric ook meervoudige verificatie vereisen.
  • Power BI-gegevenssets die zijn verbonden met Analysis Services worden momenteel niet ondersteund.
  • Onafhankelijke clouds worden niet ondersteund.
  • Het Azure DevOps-account moet worden geregistreerd bij dezelfde gebruiker die de Infrastructuurwerkruimte gebruikt.
  • De tenantbeheerder moet cross-geo-exports inschakelen als de werkruimte en git-opslagplaats zich in twee verschillende geografische regio's bevinden.
  • De doorvoergrootte is beperkt tot 125 MB.

Beperkingen voor GitHub Enterprise

Sommige GitHub Enterprise-instellingen worden niet ondersteund. Voorbeeld:

  • IP-acceptatielijst
  • Privénetwerken

Werkruimtebeperkingen

  • Alleen de werkruimtebeheerder kan de verbindingen met de Git-opslagplaats beheren, zoals verbinding maken, verbinding verbreken of een vertakking toevoegen.
    Zodra er verbinding is gemaakt, kan iedereen met machtigingen in de werkruimte werken.
  • De structuur van de werkruimtemap wordt niet weergegeven in de Git-opslagplaats. Werkruimte-items in mappen worden geëxporteerd naar de hoofdmap.

Beperkingen voor vertakkingen en mappen

  • De maximale lengte van de vertakkingsnaam is 244 tekens.
  • De maximale lengte van het volledige pad voor bestandsnamen is 250 tekens. Langere namen mislukken.
  • De maximale bestandsgrootte is 25 MB.
  • U kunt een rapport/gegevensset niet downloaden als PBIX vanuit de service nadat u ze met Git-integratie hebt geïmplementeerd.
  • Bij het benoemen van een map in Git wordt de logische id (Guid) toegevoegd als een voorvoegsel voor het type als de weergavenaam van het item:
    • Heeft meer dan 256 tekens
    • Eindigt met . of een spatie
    • Bevat een van de volgende tekens: " / : ? > < \ * |

Beperkingen voor uittakken

  • Vertakking vereist machtigingen die worden vermeld in de machtigingstabel.
  • Er moet een beschikbare capaciteit zijn voor deze actie.
  • Alle beperkingen voor naamgeving van werkruimten en vertakkingen zijn van toepassing bij het vertakken naar een nieuwe werkruimte.
  • Wanneer u vertakt, wordt er een nieuwe werkruimte gemaakt en worden de instellingen van de oorspronkelijke werkruimte niet gekopieerd. Pas instellingen of definities aan om ervoor te zorgen dat de nieuwe werkruimte voldoet aan het beleid van uw organisatie.
  • Alleen door Git ondersteunde items zijn beschikbaar in de nieuwe werkruimte.
  • In de lijst met gerelateerde vertakkingen worden alleen vertakkingen en werkruimten weergegeven die u kunt weergeven.
  • Git-integratie moet zijn ingeschakeld.

Beperkingen voor synchroniseren en doorvoeren

  • U kunt slechts in één richting synchroniseren. U kunt niet tegelijkertijd doorvoeren en bijwerken.
  • Vertrouwelijkheidslabels worden niet ondersteund en het exporteren van items met vertrouwelijkheidslabels is mogelijk uitgeschakeld. Als u items met vertrouwelijkheidslabels zonder het vertrouwelijkheidslabel wilt doorvoeren, vraagt u de beheerder om hulp.
  • Werkt met beperkte items. Niet-ondersteunde items in de map worden genegeerd.
  • Het dupliceren van namen is niet toegestaan. Zelfs als in Power BI duplicatie van namen is toegestaan, mislukt de update, doorvoer of ongedaan maken.
  • B2B wordt niet ondersteund.
  • Conflictoplossing wordt gedeeltelijk uitgevoerd in Git.
  • Tijdens het doorvoeren naar Git-proces verwijdert de Fabric-service bestanden in de itemmap die geen deel uitmaken van de itemdefinitie. Niet-gerelateerde bestanden die niet in een itemmap staan, worden niet verwijderd.
  • Nadat u wijzigingen hebt doorgevoerd, ziet u mogelijk enkele onverwachte wijzigingen in het item dat u niet hebt aangebracht. Deze wijzigingen zijn semantisch onbelangrijk en kunnen om verschillende redenen optreden. Bijvoorbeeld:
    • Het itemdefinitiebestand handmatig wijzigen. Deze wijzigingen zijn geldig, maar zijn mogelijk anders dan wanneer ze via de editors worden uitgevoerd. Als u bijvoorbeeld de naam van een kolom met een semantisch model in Git wijzigt en deze wijziging in de werkruimte importeert, wordt het bim-bestand geregistreerd als gewijzigd en wordt de gewijzigde kolom naar de achterkant van de columns matrix gepusht. Dit komt doordat de AS-engine waarmee de bim-bestanden de hernoemde kolommen naar het einde van de matrix pusht. Deze wijziging heeft geen invloed op de manier waarop het item werkt.
    • Een bestand doorvoeren dat CRLF-regeleinden gebruikt. De service maakt gebruik van regeleinden van LF (regelinvoer). Als u itembestanden in de Git-opslagplaats met CRLF-regeleinden had, worden deze bestanden gewijzigd in LF wanneer u vanuit de service doorvoert. Als u bijvoorbeeld een rapport opent op het bureaublad, slaat u het PBIP-project op en uploadt u het naar Git met behulp van CRLF.
  • Als u een semantisch model vernieuwt met behulp van de uitgebreide vernieuwings-API , wordt na elke vernieuwing een Git-diff veroorzaakt.