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
- De beheerder van uw organisatie moet Git-integratie inschakelen.
- De tenantbeheerder moet cross-geo-export inschakelen als de werkruimte en Azure-opslagplaats zich in twee verschillende regio's bevinden. Deze beperking is niet van toepassing op GitHub.
- De machtigingen die u hebt in zowel de werkruimte als Git, zoals vermeld in de volgende secties, bepalen welke acties u kunt uitvoeren.
Vereiste Git-machtigingen voor populaire acties
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.
Benodigde Fabric-autorisaties voor gebruikelijke acties
Werkruimterollen
In de volgende tabel worden de machtigingen beschreven die nodig zijn in de Fabric-werkruimte om verschillende gebruikelijke bewerkingen uit te voeren.
Bewerking | Werkruimte-rol |
---|---|
Werkruimte verbinden met Git-opslagplaats | Beheerder |
Werkruimte synchroniseren met Git-opslagplaats | Beheerder |
Werkruimte loskoppelen van Git-opslagplaats | Beheerder |
Schakelen tussen takken in de werkruimte (of wijzigingen in de verbindingsinstellingen) | Beheerder |
Git-verbindingsgegevens weergeven | Beheerder, Lid, Bijdrager |
Werkruimte 'Git-status' bekijken | Beheerder, Lid, Bijdrager |
Bijwerken vanuit Git | Alle volgende rollen: 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 rollen: 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 |
Overstappen naar een andere werkruimte | Beheerder, Lid, Bijdrager |
Git-rollen
In de volgende tabel worden de Git-machtigingen beschreven die nodig zijn om verschillende algemene bewerkingen uit te voeren:
Operatie | Git-machtigingen |
---|---|
Werkruimte verbinden met Git-opslagplaats | Lezen=Toegestaan |
Werkruimte synchroniseren met Git-opslagplaats | Lezen=Toegang geven |
Werkruimte loskoppelen van Git-opslagplaats | Er zijn geen machtigingen nodig |
Schakelen tussen takken in de werkruimte (of wijzigingen in de verbindingsinstellingen) | Read=Allow (in doelopslagplaats/map/vertakking) |
Git-verbindingsgegevens weergeven | Lezen of Geen |
Werkruimte 'Git-status' bekijken | Lezen=Toegestaan |
Bijwerken vanuit Git | Lezen=Toestaan |
Werkruimtewijzigingen doorvoeren in Git | Lezen=Toestaan Bijdragen=Toestaan Het vertakkingsbeleid moet directe committeringen toestaan. |
Nieuwe Git-vertakking maken vanuit Fabric | Rol=Schrijven Maak vertakking aan=Toestaan |
Overstappen naar een andere werkruimte | Lezen=Toestaan Maak vertakking aan=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 en de andere wel inhoud heeft, wordt de inhoud gekopieerd van de plek met inhoud naar de lege plek. 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 naar de Git-branch commit, wordt alle ondersteunde inhoud naar Git geëxporteerd 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 teruggezet naar een eerdere fase terwijl een werkruimte dat niet kan, zal om uw bevestiging worden gevraagd als u voor deze optie kiest.
Als u niet selecteert welke inhoud u wilt synchroniseren, kunt u niet doorgaan met werken.
Mappen
Mappen worden nog niet ondersteund in Git. Momenteel worden alle items weergegeven op het hoogste niveau van de Git-map, zelfs als uw werkruimte mappen bevat.
Notitie
Als uw werkruimte mappen bevat en de verbonden Git-map nog geen submappen heeft, worden ze beschouwd als anders. U krijgt een niet-doorgevoerde wijzigingen status in het broncontrolepaneel en u moet de wijzigingen doorvoeren in Git voordat u de werkruimte bijwerkt. Als u eerst bijwerkt, overschrijft de structuur van de Git-map de mapstructuur van de werkruimte. Voor meer informatie, zie Mapwijzigingen veilig verwerken.
Veilig omgaan met mapwijzigingen
Als uw werkruimte mappen bevat en de verbonden Git-map nog geen submappen heeft, worden ze beschouwd als verschillend omdat de mapstructuur anders is. Wanneer u een werkruimte met mappen verbindt met Git, krijgt u een niet-doorgevoerde wijzigingen status in het broncodebeheervenster en moet u de wijzigingen doorvoeren in Git voordat u de werkruimte bijwerkt.
Als u geen wijzigingen rechtstreeks aan de verbonden vertakking kunt aanbrengen vanwege vertakkingsbeleid of -machtigingen, raden we u aan de optie Checkout Branch te gebruiken:
- Een nieuwe branch kiezen: Gebruik de checkout-branchfunctie om een branch te maken met de bijgewerkte status van je Fabric-werkruimte.
- Mapwijzigingen doorvoeren: eventuele wijzigingen in werkruimtemappen kunnen vervolgens worden doorgevoerd in deze nieuwe vertakking.
- Wijzigingen samenvoegen: gebruik uw gebruikelijke pull request (PR) en samenvoegprocessen om deze updates weer te integreren in de originele branch.
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:
Ga naar het tabblad Accounts aan de rechterkant van het configuratiescherm Bron, kies een account en maak er verbinding mee.
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.
Elk item heeft een van de volgende statussen:
-
Gesynchroniseerd (het item is hetzelfde in de werkruimte en de Git-tak)
-
Conflict (het element is zowel in de werkruimte als in de Git-branch gewijzigd)
-
Niet ondersteund item
-
Niet doorgevoerde wijzigingen in de werkruimte
-
Update vereist vanuit Git
-
Item is op beide plaatsen identiek, maar moet naar de laatste commit bijgewerkt worden.
Synchronisatiegegevens
Zolang u verbinding hebt, wordt de volgende informatie onder aan het scherm weergegeven:
- Verbonden filiaal
- Tijd van laatste synchronisatie
- Koppeling naar de laatste commit waarmee de werkruimte is gesynchroniseerd
Deelvenster Bronbeheer
Boven aan het scherm ziet u het pictogram Broncodebeheer . Het toont het aantal items dat verschilt in de werkruimte en Git-branch. Wanneer wijzigingen worden aangebracht in de werkruimte of de Git-branch, wordt het getal bijgewerkt. Wanneer de werkruimte wordt gesynchroniseerd met de Git-tak, geeft het source control-icoon een 0 weer.
Selecteer het pictogram Bronbeheer om het bronbeheer configuratiescherm 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 toont het aantal items dat is gewijzigd in de Git branch 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
Boven aan het deelvenster kunt u met de knop Vernieuwen de lijst met wijzigingen en updates bijwerken.
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 wijzigingen zijn doorgevoerd in de Git-branch, zijn commits uitgeschakeld totdat u uw werkruimte bijwerkt.
Bijwerken
- In tegenstelling tot commit en ongedaan maken, werkt het commando Update altijd de hele vertakking bij en synchroniseert met de meest recente commit. 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 hoe u kunt doorvoeren en bijwerken. Lees meer over het updateproces en het oplossen van conflicten.
Afdelingen
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 tak:
- Overstappen naar een andere werkruimte (inzender en hoger): Hiermee maakt u een nieuwe werkruimte of schakelt u over naar een bestaande werkruimte op basis van de laatste commit naar de huidige werkruimte. Vervolgens maakt het verbinding met de doelwerkplek en de tak.
- 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.
- Switch branch (moet werkruimtebeheerder zijn): Synchroniseert de werkruimte met een andere nieuwe of bestaande vertakking en overschrijft alle items in de werkruimte met de inhoud van de geselecteerde vertakking.
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.
Met deze functie 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.
Als u de relevante werkruimte wilt openen, selecteert u het item in de lijst.
Zie Beperkingen voor vertakkingenvoor meer informatie.
Accountgegevens
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:
Git-accountgegevens
- Aanbieder
- Accountnaam
Git-opslagplaats
Filiaal
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.
- Werkruimten waarop sjabloon-apps zijn geïnstalleerd, kunnen niet worden verbonden met Git.
- Submodules worden niet ondersteund.
- Onafhankelijke clouds worden niet ondersteund.
- Het Azure DevOps-account moet worden geregistreerd bij dezelfde gebruiker die de Infrastructuurwerkruimte gebruikt.
- Azure DevOps wordt niet ondersteund als validatie van beleid voor voorwaardelijke toegang voor IP inschakelen is ingeschakeld.
- De tenantbeheerder moet cross-geo-exports inschakelen als de werkruimte en git-opslagplaats zich in twee verschillende geografische regio's bevinden.
- Als uw organisatie voorwaardelijke toegang heeft geconfigureerd, moet u ervoor zorgen dat de Power BI-service dezelfde voorwaarden heeft ingesteld die zijn ingesteld voor verificatie die naar verwachting functioneert.
- De doorvoergrootte is beperkt tot 125 MB.
Beperkingen voor GitHub Enterprise
Sommige GitHub Enterprise-instellingen worden niet ondersteund. Voorbeeld:
- IP-acceptatielijst
- Privénetwerken
- Aangepaste domeinen
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.
Beperkingen van 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 falen.
- De maximale bestandsgrootte is 25 MB.
- De mapstructuur blijft tot 10 niveaus diep behouden.
- U kunt een rapport/gegevensset niet downloaden als PBIX vanuit de service nadat u ze met Git-integratie hebt geïmplementeerd.
- Als de weergavenaam van het item een van deze kenmerken heeft, wordt de Git-map hernoemd naar de logische ID (Guid) en het type.
- Heeft meer dan 256 tekens
- Eindigt met een . of een spatie
- Bevat verboden tekens zoals beschreven in beperkingen voor directorynamen
- Wanneer u een werkruimte met mappen verbindt met Git, moet u wijzigingen doorvoeren in de Git-opslagplaats als die mapstructuur anders is.
Beperkingen van mapnamen
De naam van de map die verbinding maakt met de Git-opslagplaats heeft de volgende naamgevingsbeperkingen:
- De mapnaam kan niet beginnen of eindigen met een spatie of tabblad.
- De mapnaam mag geen van de volgende tekens bevatten: "/:<>\*?|
De itemmap (de map met de itembestanden) mag geen van de volgende tekens bevatten: ":<>\*?|. Als u de naam van de map wijzigt in iets dat een van deze tekens bevat, kan Git geen verbinding maken of synchroniseren met de werkruimte en treedt er een fout op.
Beperkingen bij het uitbreiden
- Branch out vereist de machtigingen die worden vermeld in machtigingentabel.
- 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.
- Alleen door Git ondersteunde items zijn beschikbaar in de nieuwe werkruimte.
- In de lijst met gerelateerde takken worden alleen takken en werkruimten weergegeven waarvoor u weergaverechten hebt.
- Git-integratie moet zijn ingeschakeld.
- Wanneer u vertakt, wordt er een nieuwe vertakking gemaakt en worden de instellingen van de oorspronkelijke vertakking niet gekopieerd. Pas instellingen of definities aan om ervoor te zorgen dat de nieuwe voldoet aan het beleid van uw organisatie.
- Wanneer u zich uitbreidt naar een bestaande werkruimte:
- De doelwerkruimte moet ondersteuning bieden voor een Git-verbinding.
- De gebruiker moet een beheerder van de doelwerkruimte zijn.
- De doelwerkruimte moet capaciteit hebben.
- De werkruimte kan geen sjabloon-apps hebben.
- Houd er rekening mee dat wanneer u overstapt naar een werkruimte, alle items die niet in Git zijn opgeslagen, verloren kunnen gaan. U wordt aangeraden om eventuele onderdelen die u wilt behouden te verwerken voordat u een vertakking maakt.
Beperkingen bij het synchroniseren en committeren
- 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 beperkt aantal 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 die de bim-bestanden genereert, hernoemde kolommen naar het einde van de reeks pusht. Deze wijziging heeft geen invloed op de manier waarop het item werkt. - Een bestand committeren dat CRLF-regeleinden gebruikt. De service maakt gebruik van LF (line feed) regeleinden. Als u itembestanden in de Git-repository met CRLF-regeleinden had, worden deze bestanden veranderd in LF wanneer u een commit uitvoert vanuit de service. Als u bijvoorbeeld een rapport opent in het bureaublad, slaat u het projectbestand (.pbip) op en uploadt u het naar Git met behulp van CRLF-.
- 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
- Als u een semantisch model vernieuwt met behulp van de uitgebreide vernieuwings-API , wordt na elke vernieuwing een Git-diff veroorzaakt.