Del via


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 Git-integrering.
  • Leieradministratoren må aktivere eksport på tvers av geografiske områder hvis arbeidsområdet og Azure repo er i to forskjellige områder. Denne begrensningen gjelder ikke for GitHub.
  • Tillatelsene du har i både arbeidsområdet og Git, som oppført i de neste inndelingene, bestemmer hvilke handlinger du kan utføre.

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.

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 Alle følgende roller:

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 Alle følgende roller:

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 annet 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 annet 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.

Skjermbilde av dialogboksen som spør hvilken retning du skal synkronisere hvis både Git og arbeidsområdet har innhold.

Hvis du ikke velger hvilket innhold du vil synkronisere, kan du ikke fortsette å arbeide.

Skjermbildevarsel om at du ikke kan fortsette å arbeide før arbeidsområdet er synkronisert.

Mapper

Når den er tilkoblet og synkronisert, speiles arbeidsområdestrukturen i Git-repositoriet, inkludert mappestrukturen. Arbeidsområdeelementer i mapper eksporteres til mapper med samme navn i Git-repositoriet. Elementer i Git-mapper importeres derimot til mapper med samme navn i arbeidsområdet.

Obs!

Siden mappestrukturen beholdes, hvis arbeidsområdet har mapper og den tilkoblede Git-mappen ennå ikke har undermapper, anses de å være forskjellige. Du får en uforpliktende endringer status i kildekontrollpanelet, og du må utføre endringene i Git før du oppdaterer arbeidsområdet. Hvis du oppdaterer først, overskriver Git-mappestrukturen arbeidsområdet mappestruktur. Hvis du vil ha mer informasjon, kan du se Behandle mappeendringer trygt.

Skjermbilde av arbeidsområdet og tilsvarende Git-gren med undermapper.

  • Tomme mapper kopieres ikke til Git. Når du oppretter eller flytter elementer til en mappe, opprettes mappen i Git.
  • Tomme mapper i Git slettes automatisk.
  • Tomme mapper i arbeidsområdet slettes ikke automatisk selv om alle elementer flyttes til forskjellige mapper.
  • Mappestrukturen beholdes opptil 10 nivåer dypt.

Håndtere mappeendringer på en trygg vis

Hvis arbeidsområdet har mapper og den tilkoblede Git-mappen ennå ikke har undermapper, anses de som forskjellige fordi mappestrukturen er forskjellig. Når du kobler et arbeidsområde som har mapper til Git, får du en uforpliktende endringer status i kildekontrollpanelet, og du må utføre endringene i Git før du oppdaterer arbeidsområdet.

Hvis du ikke kan gjøre endringer i den tilkoblede grenen direkte, på grunn av grenpolicy eller tillatelser, anbefaler vi at du bruker alternativet Checkout Branch:

  1. Checkout a New Branch: Bruk utsjekkingsgrensfunksjonen til å opprette en gren med den oppdaterte tilstanden til Fabric-arbeidsområdet.
  2. Utfør mappeendringer: Eventuelle endringer i arbeidsområdet kan deretter forpliktes til denne nye grenen.
  3. Flett endringer: Bruk den vanlige pull-forespørselen (PR) og flettingsprosesser til å integrere disse oppdateringene tilbake til den opprinnelige grenen.

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:

Skjermbilde av feilmeldingen som ber deg logge på en Git-konto.

Gå til Kontoer-fanen på høyre side av Kilde-kontrollpanelet, velg en konto, og koble til den.

Skjermbilde av Kontoer-fanen med bruker som kobler til en GitHub-konto.

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.

Skjermbilde hvis elementer i et arbeidsområde med Git-statusen disponert.

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

Skjermbilde av synkroniseringsinformasjon som vises nederst på skjermen når du er koblet til Git.

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.

Skjermbilde av kildekontrollikonet som viser at null elementer er endret.

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.

Skjermbilde av kildekontrollpanelet som viser statusen for de endrede elementene.

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:

    • Branch ut til et annet arbeidsområde (bidragsyter og ovenfor): Oppretter et nytt arbeidsområde, eller bytter til et eksisterende arbeidsområde basert på den siste utføringen til gjeldende arbeidsområde. Den kobler deretter til målarbeidsområdet og grenen.
    • Utsjekking av ny gren (må være arbeidsområdeadministrator): 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.
    • Bytt gren (må være arbeidsområdeadministrator): Synkroniserer arbeidsområdet med en annen ny eller eksisterende gren og overstyrer alle elementer i arbeidsområdet med innholdet i den valgte grenen.

    Skjermbilde av fanen for gren ut i kildekontrollpanelet.

  • 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.
    Med denne funksjonen kan du navigere til arbeidsområder som er koblet til andre grener som er relatert til konteksten til det gjeldende arbeidet, uten å måtte se etter dem i listen over fabric-arbeidsområder.
    Hvis du vil åpne det relevante arbeidsområdet, velger du elementet i listen.

    Skjermbilde som viser en liste over relaterte grener som brukeren kan bytte til.

Hvis du vil ha mer informasjon, kan du se Forgrening av begrensninger.

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

Skjermbilde av kontoer-fanen i Kilde-kontrollpanelet som viser Git-detaljer og repositorium- og grennavn.

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.
  • Hvis du bruker en arbeidsområdeidentitet i én artefakt og forplikter den til Git, kan den oppdateres (tilbake til et stoffarbeidsområde) bare i et arbeidsområde som er koblet til samme identitet. Vær forsiktig, da dette også påvirker funksjoner som gren ut.
  • Delmoduler støttes ikke.
  • Nasjonale skyer støttes ikke.

Begrensninger for GitHub Enterprise

Enkelte GitHub Enterprise-versjoner og -innstillinger støttes ikke. Eksempel:

  • GitHub Enterprise Cloud med datalagring (ghe.com)
  • GitHub Enterprise Server med et egendefinert domene støttes ikke, selv om forekomsten er offentlig tilgjengelig
  • Github Enterprise Server driftet på et privat nettverk
  • IP-tillatelsesliste

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.
  • Arbeidsområder med malapper installert kan ikke kobles til Git.
  • MyWorkspace- kan ikke koble til en Git-leverandør.

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.
  • Mappestrukturen opprettholdes opptil ti nivåer dypt.
  • Det anbefales ikke å laste ned et rapport-/datasett som PBIX fra tjenesten etter at du har distribuert dem med Git-integrering, siden resultatene er upålitelige. Vi anbefaler at du bruker PowerBI Desktop til å laste ned rapporter/datasett som PBIX.
  • Hvis elementets visningsnavn har noen av disse egenskapene, får Git-mappen nytt navn til den logiske ID-en (GUID) og skriver:
    • Har mer enn 256 tegn
    • Slutter med en . eller et mellomrom
    • Inneholder forbudte tegn som beskrevet i katalognavnbegrensninger
  • Når du kobler et arbeidsområde som har mapper til Git, må du utføre endringer i Git-repositoriet hvis den mappestrukturen er annerledes.

Begrensninger for katalognavn

  • Navnet på katalogen som kobler til Git-repositoriet, har følgende navnebegrensninger:

    • Katalognavnet kan ikke begynne eller slutte med et mellomrom eller en fane.
    • Katalognavnet kan ikke inneholde noen av følgende tegn: "/:<>\*?|
  • Elementmappen (mappen som inneholder elementfilene) kan ikke inneholde noen av følgende tegn: ":<>\*?|. Hvis du endrer navnet på mappen til noe som inneholder ett av disse tegnene, kan ikke Git koble til eller synkronisere med arbeidsområdet, og det oppstår en feil.

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.
  • 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.
  • Når du forgrener deg, opprettes en ny gren, og innstillingene fra den opprinnelige grenen kopieres ikke. Juster eventuelle innstillinger eller definisjoner for å sikre at den nye oppfyller organisasjonens policyer.
  • Når du forgrener til et eksisterende arbeidsområde:
    • Målarbeidsområdet må støtte en Git-tilkobling.
    • Brukeren må være administrator for målarbeidsområdet.
    • Målarbeidsområdet må ha kapasitet.
    • Arbeidsområdet kan ikke ha malapper.
  • Vær oppmerksom på at når du forgrener deg til et arbeidsområde, kan alle elementer som ikke er lagret i Git, gå seg vill. Vi anbefaler at du utføre elementer du vil beholde før du forgrener deg.

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. 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 prosjektfilen (.pbip) og laster den opp til Git ved hjelp av CRLF-.
  • Oppdatering av en semantisk modell ved hjelp av API-en for forbedret oppdatering forårsaker en Git-diff etter hver oppdatering.