Grundlæggende begreber i Git-integration
I denne artikel forklares de grundlæggende Git-begreber og processen med at integrere Git med dit Microsoft Fabric-arbejdsområde.
Tilladelser
- Organisationens administrator skal aktivere Git-integration.
- Lejeradministratoren skal aktivere på tværs af geografiske områder, hvis arbejdsområdet og Azure lager er i to forskellige områder. Denne begrænsning gælder ikke for GitHub.
- De tilladelser, du har i både arbejdsområdet og Git, som angivet i de næste afsnit, bestemmer de handlinger, du kan foretage.
Påkrævede Git-tilladelser til populære handlinger
På følgende liste kan du se, hvad forskellige arbejdsområderoller kan gøre, afhængigt af deres tilladelser i deres Git-lager:
- Administrator: Kan udføre en hvilken som helst handling i arbejdsområdet, kun begrænset af deres Git-rolle.
- Medlem/bidragyder: Når vedkommende opretter forbindelse til et arbejdsområde, kan et medlem/en bidragyder bekræfte og opdatere ændringer afhængigt af deres Git-rolle. I forbindelse med handlinger, der er relateret til arbejdsområdeforbindelsen (f.eks. opret forbindelse, afbryd forbindelsen eller skift forgreninger), skal du søge efter hjælp fra en administrator.
- Fremviser: Der kan ikke udføres nogen handlinger. Fremviseren kan ikke se nogen Git-relaterede oplysninger i arbejdsområdet.
Obligatoriske Fabric-tilladelser til populære handlinger
Arbejdsområderoller
I følgende tabel beskrives de tilladelser, der er nødvendige i Fabric-arbejdsområdet for at udføre forskellige almindelige handlinger:
Handling | Arbejdsområderolle |
---|---|
Opret forbindelse mellem arbejdsområde og Git-lager | Administrator |
Synkroniser arbejdsområde med Git-lager | Administrator |
Afbryd forbindelsen mellem arbejdsområdet og Git-lageret | Administrator |
Skift forgrening i arbejdsområdet (eller enhver ændring i forbindelsesindstillingen) | Administrator |
Vis oplysninger om Git-forbindelse | Administrator, medlem, bidragyder |
Se arbejdsområdet 'Git-status' | Administrator, medlem, bidragyder |
Opdatering fra Git | Alle følgende roller: Bidragyder i arbejdsområdet (skrivetilladelse til alle elementer) Ejer af elementet (hvis lejerkontakten blokerer opdateringer for ikke-ejere) BUILD på eksterne afhængigheder (hvor det er relevant) |
Udfør ændringer i arbejdsområdet i Git | Alle følgende roller: Bidragyder i arbejdsområdet (skrivetilladelse til alle elementer) Ejer af elementet (hvis lejerkontakten blokerer opdateringer for ikke-ejere) BUILD på eksterne afhængigheder (hvor det er relevant) |
Opret ny Git-forgrening inde fra Fabric | Administrator |
Forgrening til et andet arbejdsområde | Administrator, medlem, bidragyder |
Git-roller
I følgende tabel beskrives de Git-tilladelser, der er nødvendige for at udføre forskellige almindelige handlinger:
Handling | Git-tilladelser |
---|---|
Opret forbindelse mellem arbejdsområde og Git-lager | Læs=Tillad |
Synkroniser arbejdsområde med Git-lager | Læs=Tillad |
Afbryd forbindelsen mellem arbejdsområdet og Git-lageret | Der kræves ingen tilladelser |
Skift forgrening i arbejdsområdet (eller enhver ændring i forbindelsesindstillingen) | Read=Allow (i destinations repo/directory/branch) |
Vis oplysninger om Git-forbindelse | Læs eller Ingen |
Se arbejdsområdet 'Git-status' | Læs=Tillad |
Opdatering fra Git | Læs=Tillad |
Udfør ændringer i arbejdsområdet i Git | Læs=Tillad Bidrag=Tillad forgreningspolitik bør tillade direkte bekræftelse |
Opret ny Git-forgrening inde fra Fabric | Rolle=Skriv Opret forgrening=Tillad |
Forgrening til et andet arbejdsområde | Læs=Tillad Opret forgrening=Tillad |
Opret forbindelse, og synkroniser
Det er kun en administrator af arbejdsområdet, der kan oprette forbindelse mellem et arbejdsområde og et Git Repos, men når der er oprettet forbindelse, kan alle med tilladelser arbejde i arbejdsområdet. Hvis du ikke er administrator, kan du bede din administrator om hjælp til at oprette forbindelse.
Når du opretter forbindelse mellem et arbejdsområde og Git, synkroniseres Fabric mellem de to placeringer, så de har det samme indhold. Hvis enten arbejdsområdet eller Git-forgreningen er tom under denne indledende synkronisering, mens den anden har indhold, kopieres indholdet fra den ikke-tomme placering til den tomme. Hvis både arbejdsområdet og Git-forgreningen har indhold, skal du beslutte, i hvilken retning synkroniseringen skal gå.
- Hvis du sender dit arbejdsområde til git-forgreningen, eksporteres alt understøttet arbejdsområdeindhold til Git og overskriver det aktuelle Git-indhold.
- Hvis du opdaterer arbejdsområdet med Git-indholdet, overskrives indholdet i arbejdsområdet, og du mister dit arbejdsområdeindhold. Da en Git-forgrening altid kan gendannes til en tidligere fase, mens et arbejdsområde ikke kan, bliver du bedt om at bekræfte, hvis du vælger denne indstilling.
Hvis du ikke vælger, hvilket indhold der skal synkroniseres, kan du ikke fortsætte med at arbejde.
Mapper
Mapper understøttes endnu ikke i Git. I øjeblikket vises alle elementer på øverste niveau i Git-mappen, selvom arbejdsområdet har mapper.
Bemærk
Hvis dit arbejdsområde har mapper, og den forbundne Git-mappe endnu ikke har undermapper, anses de for at være forskellige. Du får vist en ændringer, der ikke er gemt, status i Kontrolpanel for kilden, og du skal bekræfte ændringerne i Git, før du opdaterer arbejdsområdet. Hvis du opdaterer først, overskriver git-mappestrukturen arbejdsområdet mappestrukturen. Du kan få flere oplysninger under Håndtering af mappeændringer sikkert.
Sikker håndtering af mappeændringer
Hvis dit arbejdsområde har mapper, og den forbundne Git-mappe endnu ikke har undermapper, anses de for at være forskellige, fordi mappestrukturen er anderledes. Når du opretter forbindelse til et arbejdsområde, der har mapper til Git, får du en ændringer, der ikke er gemt, status i kildekontrolpanelet, og du skal bekræfte ændringerne i Git, før du opdaterer arbejdsområdet.
Hvis du ikke kan foretage ændringer af den forbundne forgrening direkte på grund af forgreningspolitik eller -tilladelser, anbefaler vi, at du bruger indstillingen Udtjekningsgren:
- Udtjekning af en ny forgrening: Brug udtjekningsforgreningsfunktionen til at oprette en forgrening med den opdaterede tilstand for dit Fabric-arbejdsområde.
- Bekræft mappeændringer: Alle ændringer af arbejdsområdemappen kan derefter bekræftes i denne nye forgrening.
- Flet ændringer: Brug dine almindelige pullanmodninger og fletteprocesser til at integrere disse opdateringer tilbage i den oprindelige forgrening.
Opret forbindelse til et delt arbejdsområde
Hvis du forsøger at oprette forbindelse til et arbejdsområde, der allerede har forbindelse til Git, får du muligvis vist følgende meddelelse:
Gå til fanen Konti i højre side af kontrolpanelet Kilde, vælg en konto, og opret forbindelse til den.
Git-status
Når du har oprettet forbindelse, viser arbejdsområdet en Git-statuskolonne , der angiver synkroniseringstilstanden for hvert element i arbejdsområdet i forhold til elementerne i fjerngrenen.
Hvert element har en af følgende statusser:
-
Synkroniseret (elementet er det samme i arbejdsområdet og Git-forgreningen)
-
Konflikt (elementet blev ændret i både arbejdsområdet og Git-forgreningen)
-
Element, der ikke understøttes
-
Ikke-bekræftede ændringer i arbejdsområdet
-
Opdatering kræves fra Git
-
Elementet er identisk begge steder, men skal opdateres til den seneste bekræftelse
Synkroniseringsoplysninger
Så længe du har forbindelse, vises følgende oplysninger nederst på skærmen:
- Forbundet forgrening
- Tidspunkt for seneste synkronisering
- Link til den seneste bekræftelse, som arbejdsområdet er synkroniseret med
Ruden Kildekontrolelement
Øverst på skærmen er ikonet Kildekontrolelement . Det viser antallet af elementer, der er forskellige i arbejdsområdet og Git-forgreningen. Når der foretages ændringer af enten arbejdsområdet eller git-forgreningen, opdateres tallet. Når arbejdsområdet er synkroniseret med forgreningen Git, vises der et 0 med ikonet Kildekontrolelement.
Vælg ikonet Kildekontrolelement for at åbne kontrolpanelet Kilde.
Ruden med kildekontrolelementet har tre faner i siden:
Bekræftelser og opdateringer
Når der foretages ændringer af enten arbejdsområdet eller git-forgreningen, viser ikonet for kildekontrolelementet antallet af elementer, der er forskellige. Vælg ikonet for kildekontrolelementet for at åbne kontrolpanelet Kilde.
Panelet Bekræft og opdater indeholder to sektioner.
Ændringer viser antallet af elementer, der er ændret i arbejdsområdet, og som skal bekræftes i Git.
Opdateringer viser antallet af elementer, der er ændret i forgreningen Git og skal opdateres til arbejdsområdet.
I hvert afsnit vises de ændrede elementer med et ikon, der angiver status:
-
ny
-
Ændret
-
Slettet
-
konflikt
Knappen Opdater øverst i panelet opdaterer listen over ændringer og opdateringer.
Begå
- Elementer i arbejdsområdet, der blev ændret, er angivet i sektionen Ændringer . Når der er mere end ét ændret element, kan du vælge, hvilke elementer der skal bekræftes i git-forgreningen.
- Hvis der blev foretaget opdateringer af Git-forgreningen, deaktiveres bekræftelser, indtil du opdaterer dit arbejdsområde.
Opdater
- I modsætning til bekræftelse og fortryd opdaterer kommandoen Opdater altid hele forgreningen og synkroniserer til den seneste bekræftelse. Du kan ikke vælge bestemte elementer, der skal opdateres.
- Hvis der er foretaget ændringer i arbejdsområdet og i forgreningen Git for det samme element, deaktiveres opdateringer, indtil konflikten er løst.
Læs mere om, hvordan du bekræfter og opdaterer. Læs mere om opdateringsprocessen, og hvordan du løser konflikter.
Forgreninger
Fanen Forgreninger i kontrolpanelet Kilde giver dig mulighed for at administrere dine forgreninger og udføre handlinger, der er relateret til forgreninger. Der er to hovedafsnit:
Handlinger, du kan foretage på den aktuelle forgrening:
- forgrening til et andet arbejdsområde (bidragyder og nyere): Opretter et nyt arbejdsområde eller skifter til et eksisterende arbejdsområde baseret på den seneste bekræftelse af det aktuelle arbejdsområde. Den opretter derefter forbindelse til målarbejdsområdet og -forgreningen.
- Udtjekning af ny forgrening (skal være arbejdsområdeadministrator): Opretter en ny forgrening, der er baseret på den senest synkroniserede bekræftelse i arbejdsområdet, og ændrer Git-forbindelsen i det aktuelle arbejdsområde. Det ændrer ikke indholdet i arbejdsområdet.
- Skift forgrening (skal være arbejdsområdeadministrator): Synkroniserer arbejdsområdet med en anden ny eller eksisterende forgrening og tilsidesætter alle elementer i arbejdsområdet med indholdet af den valgte forgrening.
Relaterede forgreninger.
Fanen Forgreninger indeholder også en liste over relaterede arbejdsområder, du kan vælge og skifte til. Et relateret arbejdsområde er et med de samme forbindelsesegenskaber som den aktuelle forgrening, f.eks. den samme organisation, det samme projekt, det samme lager og den samme git-mappe.
Denne funktion giver dig mulighed for at navigere til arbejdsområder, der er forbundet med andre forgreninger, der er relateret til konteksten for dit aktuelle arbejde, uden at skulle søge efter dem på listen over Fabric-arbejdsområder.
Hvis du vil åbne det relevante arbejdsområde, skal du vælge element på listen.
Du kan få flere oplysninger under Begrænsninger for forgrening.
Firmadetaljer
Fanen Kontooplysninger viser oplysninger om den GitHub-konto, som brugeren har forbindelse til. Det har to sektioner. I det øverste afsnit vises Git-udbyderen og kontonavnet. I nederste afsnit vises det lager og den forgrening, som arbejdsområdet har forbindelse til. I øjeblikket er denne fane kun tilgængelig for arbejdsområder, der er forbundet til GitHub.
GitHub-kontooplysninger omfatter:
Oplysninger om Git-konto
- Udbyder
- Firmanavn
Git-lager
Gren
Overvejelser og begrænsninger
Generelle begrænsninger for Git-integration
- Godkendelsesmetoden i Fabric skal være mindst lige så stærk som godkendelsesmetoden for Git. Hvis Git f.eks. kræver multifaktorgodkendelse, skal Fabric også kræve multifaktorgodkendelse.
- Power BI-datasæt, der er forbundet til Analysis Services, understøttes ikke i øjeblikket.
- Arbejdsområder med skabelonapps, der er installeret, kan ikke oprettes forbindelse til Git.
- Undermoduler understøttes ikke.
- Nationale cloudmiljøer understøttes ikke.
- Azure DevOps-kontoen skal være registreret for den samme bruger, der bruger Fabric-arbejdsområdet.
- Azure DevOps understøttes ikke, hvis Aktivér politikvalidering af IP-betinget adgang er aktiveret.
- Lejeradministratoren skal aktivere eksporter på tværs af geografiske områder, hvis arbejdsområdet og Git-lageret er i to forskellige geografiske områder.
- Hvis din organisation har konfigureret betinget adgang, skal du sørge for, at Power BI-tjeneste har de samme betingelser, der er angivet for, at godkendelse fungerer som forventet.
- Bekræftelsesstørrelsen er begrænset til 125 MB.
GitHub Enterprise-begrænsninger
Nogle GitHub Enterprise-indstillinger understøttes ikke. Eksempler:
- IP-tilladelsesliste
- Privat netværk
- Brugerdefinerede domæner
Begrænsninger for arbejdsområde
- Det er kun administratoren af arbejdsområdet, der kan administrere forbindelserne til Git-lageret , f.eks. oprette forbindelse, afbryde forbindelsen eller tilføje en forgrening.
Når du har oprettet forbindelse, kan alle med tilladelse arbejde i arbejdsområdet.
Begrænsninger for forgreninger og mapper
- Den maksimale længde på forgreningsnavnet er 244 tegn.
- Den maksimale længde på den fulde sti til filnavne er 250 tegn. Længere navne mislykkes.
- Den maksimale filstørrelse er 25 MB.
- Mappestrukturen vedligeholdes op til 10 niveauer dyb.
- Du kan ikke downloade en rapport/et datasæt som .pbix fra tjenesten, når du har udrullet dem med Git-integration.
- Hvis elementets viste navn har nogen af disse egenskaber, omdøbes mappen Git til det logiske id (GUID) og skriver:
- Indeholder mere end 256 tegn
- Slutter med en . eller et mellemrum
- Indeholder forbudte tegn som beskrevet i begrænsninger for mappenavne
- Når du opretter forbindelse til et arbejdsområde, der har mapper til Git, skal du bekræfte ændringer i Git-lageret, hvis den mappestruktur, er anderledes.
Begrænsninger for mappenavn
Navnet på den mappe, der opretter forbindelse til Git-lageret, har følgende navngivningsbegrænsninger:
- Mappenavnet kan ikke starte eller slutte med et mellemrum eller en fane.
- Mappenavnet må ikke indeholde følgende tegn: "/:<>\*?|
Elementmappen (den mappe, der indeholder elementfilerne) må ikke indeholde følgende tegn: ":<>\*?|. Hvis du omdøber mappen til noget, der indeholder et af disse tegn, kan Git ikke oprette forbindelse til eller synkronisere med arbejdsområdet, og der opstår en fejl.
Begrænsninger for forgrening
- Forgrening kræver tilladelser, der er angivet i tilladelsestabellen.
- Der skal være en tilgængelig kapacitet til denne handling.
- Alle begrænsninger for navngivning af arbejdsområder og forgreninger gælder, når du forgrener dig til et nyt arbejdsområde.
- Det er kun Git-understøttede elementer , der er tilgængelige i det nye arbejdsområde.
- Listen over relaterede forgreninger viser kun de forgreninger og arbejdsområder, du har tilladelse til at få vist.
- Git-integration skal være aktiveret.
- Når du forgrener, oprettes der en ny forgrening, og indstillingerne fra den oprindelige forgrening kopieres ikke. Juster eventuelle indstillinger eller definitioner for at sikre, at den nye opfylder organisationens politikker.
- Når du forgrener dig til et eksisterende arbejdsområde:
- Destinationsarbejdsområdet skal understøtte en Git-forbindelse.
- Brugeren skal være administrator af destinationsarbejdsområdet.
- Målarbejdsområdet skal have kapacitet.
- Arbejdsområdet kan ikke have skabelonapps.
- Bemærk, at når du forgrener dig til et arbejdsområde, kan elementer, der ikke er gemt i Git, gå tabt. Vi anbefaler, at du bekræfte elementer, du vil beholde, før du forgrener dig.
Begrænsninger for synkronisering og bekræftelse
- Du kan kun synkronisere i én retning ad gangen. Du kan ikke bekræfte og opdatere på samme tid.
- Følsomhedsmærkater understøttes ikke, og eksport af elementer med følsomhedsmærkater kan være deaktiveret. Hvis du vil bekræfte elementer, der har følsomhedsmærkater uden følsomhedsmærkaten, skal du bede administratoren om hjælp.
- Fungerer sammen med begrænsede elementer. Elementer, der ikke understøttes i mappen, ignoreres.
- Duplikering af navne er ikke tilladt. Selvom Power BI tillader duplikering af navne, mislykkes opdateringen, bekræftelsen eller fortrydelseshandlingen.
- B2B understøttes ikke.
- Konfliktløsning udføres delvist i Git.
- Under Processen Bekræft til Git sletter Fabric-tjenesten filer i elementmappen, der ikke er en del af elementdefinitionen. Ikke-relaterede filer, der ikke findes i en elementmappe, slettes ikke.
- Når du har bekræftet ændringerne, kan du opleve nogle uventede ændringer af det element, du ikke har foretaget. Disse ændringer er semantisk ubetydelige og kan ske af flere årsager. Eksempel:
- Rediger elementdefinitionsfilen manuelt. Disse ændringer er gyldige, men kan være anderledes, end hvis de udføres via editorerne. Hvis du f.eks. omdøber en semantisk modelkolonne i Git og importerer denne ændring til arbejdsområdet, registreres bim-filen som ændret, næste gang du sender ændringer til den semantiske model, og den ændrede kolonne skubbes bagest i matrixen
columns
. Dette skyldes, at det AS-program, der genererer bim-filerne , skubber omdøbte kolonner til slutningen af matrixen. Denne ændring påvirker ikke den måde, elementet fungerer på. - Bekræftelse af en fil, der bruger CRLF-linjeskift . Tjenesten bruger LF-linjeskift (linjeskift). Hvis du havde elementfiler i Git-lageret med CRLF-linjeskift , ændres disse filer til LF, når du bekræfter fra tjenesten. Hvis du f.eks. åbner en rapport på skrivebordet, skal du gemme projektfilen (.pbip) og uploade den til Git ved hjælp af CRLF-.
- Rediger elementdefinitionsfilen manuelt. Disse ændringer er gyldige, men kan være anderledes, end hvis de udføres via editorerne. Hvis du f.eks. omdøber en semantisk modelkolonne i Git og importerer denne ændring til arbejdsområdet, registreres bim-filen som ændret, næste gang du sender ændringer til den semantiske model, og den ændrede kolonne skubbes bagest i matrixen
- Opdatering af en semantisk model ved hjælp af API'en for udvidet opdatering medfører en Git-diff efter hver opdatering.