Grunnleggende konsepter i Git-integrasjon
Denne artikkelen forklarer grunnleggende Git-konsepter og prosessen med å integrere Git med Microsoft Fabric-arbeidsområdet.
Tillatelser
- Organisasjonens administrator må aktivere den av organisasjonens administrator for å kunne bruke Git-integrering.
- Hvis arbeidsområdet og Azure-repo er i to forskjellige områder, må leieradministratoren aktivere eksport på tvers av geo. Denne begrensningen gjelder ikke for GitHub.
- Handlingene du kan utføre på et arbeidsområde, avhenger av tillatelsene du har i både arbeidsområdet og Git, som oppført i de neste inndelingene.
Nødvendige Git-tillatelser for populære handlinger
Listen nedenfor viser hva ulike arbeidsområderoller kan gjøre, avhengig av tillatelsene i git-repositoriet:
- Administrator: Kan utføre en hvilken som helst operasjon på arbeidsområdet, begrenset bare av Git-rollen.
- Medlem/bidragsyter: Når de kobler til et arbeidsområde, kan et medlem/bidragsyter utføre og oppdatere endringer, avhengig av git-rollen deres. For handlinger relatert til arbeidsområdetilkoblingen (for eksempel koble til, koble fra eller bytte grener) kan du søke hjelp fra en administrator.
- Visningsprogram: Kan ikke utføre noen handlinger. Visningsprogrammet kan ikke se git-relatert informasjon i arbeidsområdet.
Obligatoriske fabric-tillatelser for populære handlinger
Arbeidsområderoller
Tabellen nedenfor beskriver tillatelsene som kreves i Fabric-arbeidsområdet for å utføre ulike vanlige operasjoner:
Operasjon | Arbeidsområderolle |
---|---|
Koble arbeidsområde til Git-repositorium | Administrator |
Synkroniser arbeidsområde med Git-repositorium | Administrator |
Koble arbeidsområde fra Git-repositorium | Administrator |
Bytt gren i arbeidsområdet (eller endringer i tilkoblingsinnstillingen) | Administrator |
Vis git-tilkoblingsdetaljer | Administrator, medlem, bidragsyter |
Se git-status for arbeidsområdet | Administrator, medlem, bidragsyter |
Oppdater fra Git | Alt dette: Bidragsyter i arbeidsområdet (SKRIVE-tillatelse på alle elementer) Eier av elementet (hvis leierbryteren blokkerer oppdateringer for ikke-eiere) BYGG på eksterne avhengigheter (der det er aktuelt) |
Utfør arbeidsområdeendringer til Git | Alt dette: Bidragsyter i arbeidsområdet (SKRIVE-tillatelse på alle elementer) Eier av elementet (hvis leierbryteren blokkerer oppdateringer for ikke-eiere) BYGG på eksterne avhengigheter (der det er aktuelt) |
Opprett ny Git-gren fra Fabric | Administrator |
Forgrening til et nytt arbeidsområde | Administrator, medlem, bidragsyter |
Git-roller
Tabellen nedenfor beskriver Git-tillatelsene som kreves for å utføre ulike vanlige operasjoner:
Operasjon | Git-tillatelser |
---|---|
Koble arbeidsområde til Git-repositorium | Les=Tillat |
Synkroniser arbeidsområde med Git-repositorium | Les=Tillat |
Koble arbeidsområde fra Git-repositorium | Ingen tillatelser er nødvendig |
Bytt gren i arbeidsområdet (eller endringer i tilkoblingsinnstillingen) | Read=Tillat (i mål-repo/katalog/gren) |
Vis git-tilkoblingsdetaljer | Lese eller ingen |
Se git-status for arbeidsområdet | Les=Tillat |
Oppdater fra Git | Les=Tillat |
Utfør arbeidsområdeendringer til Git | Les=Tillat Bidra=Tillat grenpolicy bør tillate direkte utføring |
Opprett ny Git-gren fra Fabric | Rolle=Skriv Opprett gren=Tillat |
Forgrening til et nytt arbeidsområde | Les=Tillat Opprett gren=Tillat |
Koble til og synkronisere
Bare en arbeidsområdeadministrator kan koble et arbeidsområde til en Git Repos, men når de er koblet til, kan alle med tillatelser arbeide i arbeidsområdet. Hvis du ikke er administrator, kan du be administratoren om hjelp med å koble til.
Når du kobler et arbeidsområde til Git, synkroniseres Fabric mellom de to plasseringene, slik at de har samme innhold. Under denne første synkroniseringen, hvis enten arbeidsområdet eller Git-grenen er tom mens den andre har innhold, kopieres innholdet fra den ikke-tomme plasseringen til den tomme. Hvis både arbeidsområdet og Git-grenen har innhold, må du bestemme hvilken retning synkroniseringen skal gå.
- Hvis du forplikter arbeidsområdet til Git-grenen, eksporteres alt støttet arbeidsområdeinnhold til Git og overskriver gjeldende Git-innhold.
- Hvis du oppdaterer arbeidsområdet med Git-innholdet, overskrives innholdet i arbeidsområdet, og du mister innholdet i arbeidsområdet. Siden en Git-gren alltid kan gjenopprettes til en tidligere fase, mens et arbeidsområde ikke kan gjøre det, blir du bedt om å bekrefte hvis du velger dette alternativet.
Hvis du ikke velger hvilket innhold du vil synkronisere, kan du ikke fortsette å arbeide.
Koble til et delt arbeidsområde
Hvis du prøver å koble til et arbeidsområde som allerede er koblet til Git, kan du få følgende melding:
Gå til Kontoer-fanen på høyre side av Kilde-kontrollpanelet, velg en konto, og koble til den.
Git-status
Når du har koblet til, viser arbeidsområdet en Git-statuskolonne som angir synkroniseringstilstanden for hvert element i arbeidsområdet i forhold til elementene i den eksterne grenen.
Hvert element har én av følgende statuser:
- Synkronisert (elementet er det samme i arbeidsområdet og Git-grenen)
- Konflikt (elementet ble endret i både arbeidsområdet og Git-grenen)
- Element som ikke støttes
- Uforpliktende endringer i arbeidsområdet
- Oppdatering kreves fra Git
- Elementet er identisk begge steder, men må oppdateres til siste utføring
Synkroniseringsinformasjon
Så lenge du er tilkoblet, vises følgende informasjon nederst på skjermen:
- Tilkoblet gren
- Tidspunktet for siste synkronisering
- Kobling til siste utføring som arbeidsområdet er synkronisert til
Kildekontrollrute
Øverst på skjermen finner du kildekontrollikonet . Den viser antall elementer som er forskjellige i arbeidsområdet og Git-grenen. Når det gjøres endringer i arbeidsområdet eller Git-grenen, oppdateres tallet. Når arbeidsområdet synkroniseres med Git-grenen, viser kildekontrollikonet en 0.
Velg kildekontrollikonet for å åpne kildekontrollpanelet .
Kildekontrollruten har tre faner på siden:
Utføringer og oppdateringer
Når det gjøres endringer i arbeidsområdet eller Git-grenen, viser kildekontrollikonet antall elementer som er forskjellige. Velg kildekontrollikonet for å åpne Kontrollpanel for kilde.
Utførings - og oppdateringspanelet har to inndelinger.
Endringer viser antall elementer som ble endret i arbeidsområdet, og må være forpliktet til Git.
Oppdateringer viser antall elementer som ble endret i Git-grenen, og må oppdateres til arbeidsområdet.
I hver inndeling vises de endrede elementene med et ikon som angir statusen:
- ny
- modifisert
- Slettet
- konflikt
Oppdater-knappen øverst i panelet oppdaterer listen over endringer og oppdateringer.
Begå
- Elementer i arbeidsområdet som ble endret, er oppført i Endringer-delen . Når det er mer enn ett endret element, kan du velge hvilke elementer som skal utføres i Git-grenen.
- Hvis det ble gjort oppdateringer i Git-grenen, deaktiveres utføringer til du oppdaterer arbeidsområdet.
Oppdatering
- I motsetning til utføring og angre, oppdaterer Oppdater-kommandoen alltid hele grenen og synkroniserer til den nyeste utførelsen. Du kan ikke velge bestemte elementer som skal oppdateres.
- Hvis det ble gjort endringer i arbeidsområdet og i Git-grenen på samme element, deaktiveres oppdateringer til konflikten er løst.
Les mer om hvordan du utfører og oppdaterer. Les mer om oppdateringsprosessen og hvordan du løser konflikter.
Grener
Fanen Forgreninger i Kontrollpanel for kilde lar deg administrere grenene og utføre grenrelaterte handlinger. Den har to hoveddeler:
Handlinger du kan utføre på gjeldende gren:
- Forgren ut til nytt arbeidsområde (hvilken som helst rolle): Oppretter et nytt arbeidsområde og en ny gren basert på siste utføring av grenen som er koblet til gjeldende arbeidsområde. Den kobles til det nye arbeidsområdet og den nye grenen.
- Sjekk ut en ny gren (må være administrator for arbeidsområdet): Oppretter en ny gren basert på den siste synkroniserte utførelsen i arbeidsområdet, og endrer Git-tilkoblingen i gjeldende arbeidsområde. Det endrer ikke innholdet i arbeidsområdet.
Relaterte grener.
Fanen Grener har også en liste over relaterte arbeidsområder du kan velge og bytte til. Et relatert arbeidsområde er ett med de samme tilkoblingsegenskapene som gjeldende gren, for eksempel den samme organisasjonen, prosjektet, repositoriet og git-mappen.
Dette gjør at du kan navigere til arbeidsområder som er koblet til andre grener relatert til konteksten til det gjeldende arbeidet, uten å måtte se etter dem i listen over stoffarbeidsområder.
Klikk på et element i listen for å åpne det aktuelle arbeidsområdet.
Se Begrensninger for forgrening for mer informasjon.
Kontodetaljer
Kontodetaljer-fanen viser detaljer om GitHub-kontoen som brukeren er koblet til. Den har to inndelinger. Den øverste delen viser Git-leverandøren og kontonavnet. Den nederste delen viser repositoriet og grenen som arbeidsområdet er koblet til. Denne fanen er for øyeblikket bare tilgjengelig for arbeidsområder som er koblet til GitHub.
GitHub-kontodetaljer inkluderer:
Git-kontodetaljer
- Leverandør
- Kontonavn
Git-repositorium
Gren
Hensyn og begrensninger
Generelle begrensninger for Git-integrering
- Godkjenningsmetoden i Fabric må være minst like sterk som godkjenningsmetoden for Git. Hvis Git for eksempel krever godkjenning med flere faktorer, må Fabric også kreve godkjenning med flere faktorer.
- Power BI-datasett som er koblet til Analysis Services, støttes foreløpig ikke.
- Arbeidsområder med malapper installert kan ikke kobles til Git.
- Nasjonale skyer støttes ikke.
- Azure DevOps-kontoen må være registrert for den samme brukeren som bruker Fabric-arbeidsområdet.
- Leieradministratoren må aktivere eksport på tvers av geografiske områder hvis arbeidsområdet og Git-repositoriet er i to forskjellige geografiske områder.
- Utføringsstørrelsen er begrenset til 125 MB.
Begrensninger for GitHub Enterprise
Noen GitHub Enterprise-innstillinger støttes ikke. Eksempel:
- IP-tillatelsesliste
- Privat nettverk
Arbeidsområdebegrensninger
- Bare administratoren for arbeidsområdet kan administrere tilkoblingene til Git-repositoriet , for eksempel koble til, koble fra eller legge til en gren.
Når de er tilkoblet, kan alle med tillatelse arbeide i arbeidsområdet. - Mappestrukturen for arbeidsområdet gjenspeiles ikke i Git-repositoriet. Arbeidsområdeelementer i mapper eksporteres til rotkatalogen.
Begrensninger for gren og mappe
- Maksimal lengde på grennavnet er 244 tegn.
- Maksimal lengde på fullstendig bane for filnavn er 250 tegn. Lengre navn mislykkes.
- Maksimal filstørrelse er 25 MB.
- Du kan ikke laste ned et rapport-/datasett som PBIX fra tjenesten etter at du har distribuert dem med Git-integrasjon.
- Når du navngir en mappe i Git, legges den logiske ID-en (GUID) til som et prefiks før typen hvis elementets visningsnavn:
- Har mer enn 256 tegn
- Slutter med . eller et mellomrom
- Inneholder noen av følgende tegn: " / : ? < > \ * |
Begrensninger for forgrening
- Forgrening krever tillatelser oppført i tillatelsestabellen.
- Det må være en tilgjengelig kapasitet for denne handlingen.
- Alle begrensninger for navngivning av arbeidsområder og forgreninger gjelder når du forgrener deg til et nytt arbeidsområde.
- Når du forgrener deg, opprettes et nytt arbeidsområde, og innstillingene fra det opprinnelige arbeidsområdet kopieres ikke. Juster eventuelle innstillinger eller definisjoner for å sikre at det nye arbeidsområdet oppfyller organisasjonens policyer.
- Bare Git-støttede elementer er tilgjengelige i det nye arbeidsområdet.
- Listen over relaterte grener viser bare grener og arbeidsområder du har tillatelse til å vise.
- Git-integrasjon må være aktivert.
Synkroniser og utfør begrensninger
- Du kan bare synkronisere i én retning om gangen. Du kan ikke utføre og oppdatere samtidig.
- Følsomhetsetiketter støttes ikke, og eksport av elementer med følsomhetsetiketter kan være deaktivert. Hvis du vil utføre elementer som har følsomhetsetiketter uten følsomhetsetiketten, kan du be systemansvarlig om hjelp.
- Fungerer med begrensede elementer. Elementer som ikke støttes i mappen, ignoreres.
- Duplisering av navn er ikke tillatt. Selv om Power BI tillater navneduplisering, mislykkes oppdateringen, utføringen eller angrehandlingen.
- B2B støttes ikke.
- Konfliktløsning utføres delvis i Git.
- Under Prosessen Utfør til Git sletter Fabric-tjenesten filer i elementmappen som ikke er en del av elementdefinisjonen. Ikke-relaterte filer som ikke er i en elementmappe, slettes ikke.
- Når du har gjort endringer, vil du kanskje legge merke til noen uventede endringer i elementet du ikke har gjort. Disse endringene er semantisk ubetydelige og kan skje av flere grunner. Eksempel:
- Endre elementdefinisjonsfilen manuelt. Disse endringene er gyldige, men kan være annerledes enn hvis de gjøres gjennom redigeringsprogram. Hvis du for eksempel gir nytt navn til en semantisk modellkolonne i Git og importerer denne endringen til arbeidsområdet, registreres bim-filen som endret, og den endrede kolonnen sendes til baksiden av matrisen
columns
neste gang du utfører endringer i den semantiske modellen. Dette er fordi AS-motoren som genererer bim-filene , sender kolonner med nytt navn til slutten av matrisen. Denne endringen påvirker ikke måten elementet fungerer på. - Utfører en fil som bruker CRLF-linjeskift . Tjenesten bruker linjeskift (linjefeed). Hvis du hadde elementfiler i Git-repositoriet med CRLF-linjeskift , endres disse filene til LF når du utfører fra tjenesten. Hvis du for eksempel åpner en rapport på skrivebordet, lagrer du PBIP-prosjektet og laster den opp til Git ved hjelp av CRLF.
- Endre elementdefinisjonsfilen manuelt. Disse endringene er gyldige, men kan være annerledes enn hvis de gjøres gjennom redigeringsprogram. Hvis du for eksempel gir nytt navn til en semantisk modellkolonne i Git og importerer denne endringen til arbeidsområdet, registreres bim-filen som endret, og den endrede kolonnen sendes til baksiden av matrisen
- Oppdatering av en semantisk modell ved hjelp av API-en for forbedret oppdatering forårsaker en Git-diff etter hver oppdatering.