Dela via


Grundläggande begrepp i Git-integrering

Den här artikeln beskriver grundläggande Git-begrepp och processen för att integrera Git med din Microsoft Fabric-arbetsyta.

Behörigheter

  • För att kunna använda Git-integrering måste organisationens administratör aktivera den av organisationens administratör.
  • Om arbetsytan och Azure-lagringsplatsen finns i två olika regioner måste klientadministratören aktivera korsgeoexport. Den här begränsningen gäller inte för GitHub.
  • Vilka åtgärder du kan vidta på en arbetsyta beror på vilka behörigheter du har i både arbetsytan och Git, enligt beskrivningen i nästa avsnitt.

I följande lista visas vad olika arbetsyteroller kan göra beroende på deras behörigheter på git-lagringsplatsen:

  • Administratör: Kan utföra alla åtgärder på arbetsytan, som endast begränsas av deras Git-roll.
  • Medlem/deltagare: När de ansluter till en arbetsyta kan en medlem/deltagare checka in och uppdatera ändringar, beroende på deras Git-roll. För åtgärder som rör anslutningen till arbetsytan (till exempel ansluta, koppla från eller växla grenar) kan du söka hjälp från en administratör.
  • Visningsprogram: Det går inte att utföra några åtgärder. Visningsprogrammet kan inte se någon Git-relaterad information på arbetsytan.

Arbetsyteroller

I följande tabell beskrivs de behörigheter som krävs på arbetsytan Infrastruktur för att utföra olika vanliga åtgärder:

Åtgärd Arbetsyteroll
Ansluta arbetsyta till Git-lagringsplats Administratör
Synkronisera arbetsyta med Git-lagringsplats Administratör
Koppla från arbetsytan från Git-lagringsplatsen Administratör
Växla gren på arbetsytan (eller någon ändring i anslutningsinställningen) Administratör
Visa Git-anslutningsinformation Administratör, Medlem, Deltagare
Se arbetsytans Git-status Administratör, Medlem, Deltagare
Uppdatera från Git Allt följande:

Deltagare i arbetsytan (skrivbehörighet för alla objekt)

Objektets ägare (om klientväxeln blockerar uppdateringar för icke-ägare)

Bygga på externa beroenden (om tillämpligt)
Checka in ändringar i arbetsytan i Git Allt följande:

Deltagare i arbetsytan (skrivbehörighet för alla objekt)

Objektets ägare (om klientväxeln blockerar uppdateringar för icke-ägare)

Bygga på externa beroenden (om tillämpligt)
Skapa en ny Git-gren inifrån Infrastrukturresurser Administratör
Förgrena ut till en ny arbetsyta Administratör, Medlem, Deltagare

Git-roller

I följande tabell beskrivs de Git-behörigheter som krävs för att utföra olika vanliga åtgärder:

Åtgärd Git-behörigheter
Ansluta arbetsyta till Git-lagringsplats Read=Allow
Synkronisera arbetsyta med Git-lagringsplats Read=Allow
Koppla från arbetsytan från Git-lagringsplatsen Inga behörigheter krävs
Växla gren på arbetsytan (eller någon ändring i anslutningsinställningen) Read=Allow (in target repo/directory/branch)
Visa Git-anslutningsinformation Läs eller ingen
Se arbetsytans Git-status Read=Allow
Uppdatera från Git Read=Allow
Checka in ändringar i arbetsytan i Git Read=Allow
Contribute=Allow
grenprincip bör tillåta direkt incheckning
Skapa en ny Git-gren inifrån Infrastrukturresurser Role=Write
Skapa gren=Tillåt
Förgrena ut till en ny arbetsyta Read=Allow
Skapa gren=Tillåt

Ansluta och synkronisera

Endast en arbetsyteadministratör kan ansluta en arbetsyta till en Git-lagringsplats, men när den är ansluten kan alla med behörigheter arbeta på arbetsytan. Om du inte är administratör ber du administratören om hjälp med att ansluta.

När du ansluter en arbetsyta till Git synkroniseras Fabric mellan de två platserna så att de har samma innehåll. Om arbetsytan eller Git-grenen är tom medan den andra har innehåll under den här inledande synkroniseringen kopieras innehållet från den icke-platsen till den tomma. Om både arbetsytan och Git-grenen har innehåll måste du bestämma vilken riktning synkroniseringen ska gå.

  • Om du checkar in din arbetsyta till Git-grenen exporteras allt innehåll som stöds till Git och skriver över det aktuella Git-innehållet.
  • Om du uppdaterar arbetsytan med Git-innehållet skrivs arbetsytans innehåll över och du förlorar innehållet på arbetsytan. Eftersom en Git-gren alltid kan återställas till en tidigare fas medan en arbetsyta inte kan det, om du väljer det här alternativet, uppmanas du att bekräfta.

Skärmbild av dialogrutan som frågar vilken riktning som ska synkroniseras om både Git och arbetsytan har innehåll.

Om du inte väljer vilket innehåll som ska synkroniseras kan du inte fortsätta att arbeta.

Skärmbild av meddelande om att du inte kan fortsätta arbeta förrän arbetsytan har synkroniserats.

Ansluta till en delad arbetsyta

Om du försöker ansluta till en arbetsyta som redan är ansluten till Git kan du få följande meddelande:

Skärmbild av felmeddelande som talar om för yo att logga in på ett Git-konto.

Gå till fliken Konton till höger på kontrollpanelen Källa, välj ett konto och anslut till det.

Skärmbild av fliken Konton där användaren ansluter till ett GitHub-konto.

Git-status

När du har anslutit visar arbetsytan en Git-statuskolumn som anger synkroniseringstillståndet för varje objekt i arbetsytan i förhållande till objekten i fjärrgrenen.

Skärmbild om objekt i en arbetsyta med git-statusen har beskrivits.

Varje objekt har någon av följande statusar:

  • Synkroniserat (objektet är detsamma i arbetsytan och Git-grenen)
  • Konflikt (objektet ändrades i både arbetsytan och Git-grenen)
  • Objekt som inte stöds
  • Icke-bakåtkompatibla ändringar på arbetsytan
  • Uppdatering krävs från Git
  • Objektet är identiskt på båda platserna men måste uppdateras till den senaste incheckningen

Synkroniseringsinformation

Så länge du är ansluten visas följande information längst ned på skärmen:

  • Ansluten gren
  • Tidpunkt för senaste synkronisering
  • Länk till den senaste incheckningen som arbetsytan synkroniseras till

Skärmbild av synkroniseringsinformation som visas längst ned på skärmen när den är ansluten till Git.

Fönstret Källkontroll

Överst på skärmen finns ikonen Källkontroll . Den visar antalet objekt som skiljer sig åt i arbetsytan och Git-grenen. När ändringar görs i arbetsytan eller Git-grenen uppdateras numret. När arbetsytan synkroniseras med Git-grenen visar ikonen Källkontroll ett 0.

Skärmbild av källkontrollikonen som visar att inga objekt har ändrats.

Välj ikonen Källkontroll för att öppna kontrollpanelen Källa.

Källkontrollfönstret har tre flikar på sidan:

Incheckningar och uppdateringar

När ändringar görs i arbetsytan eller Git-grenen visar källkontrollikonen antalet objekt som skiljer sig åt. Välj källkontrollikonen för att öppna kontrollpanelen Källa.

Panelen Incheckning och uppdatering innehåller två avsnitt.

Ändringar visar antalet objekt som har ändrats på arbetsytan och som måste checkas in på Git.
Uppdateringar visar antalet objekt som har ändrats i Git-grenen och som måste uppdateras till arbetsytan.

I varje avsnitt visas de ändrade objekten med en ikon som anger status:

  • ny
  • modifierad
  • borttagen
  • konflikt

Knappen Uppdatera överst i panelen uppdaterar listan med ändringar och uppdateringar.

Skärmbild av källkontrollpanelen som visar status för de ändrade objekten.

Checka in

  • Objekt på arbetsytan som ändrades visas i avsnittet Ändringar . När det finns fler än ett ändrat objekt kan du välja vilka objekt som ska checkas in på Git-grenen.
  • Om det gjordes uppdateringar av Git-grenen inaktiveras incheckningar tills du uppdaterar arbetsytan.

Uppdatera

  • Till skillnad från incheckning och ångra uppdaterar kommandot Uppdatera alltid hela grenen och synkroniseras till den senaste incheckningen. Du kan inte välja specifika objekt som ska uppdateras.
  • Om ändringar har gjorts i arbetsytan och i Git-grenen för samma objekt inaktiveras uppdateringar tills konflikten har lösts.

Läs mer om hur du checkar in och uppdaterar. Läs mer om uppdateringsprocessen och hur du löser konflikter.

Grenar

fliken Grenar på kontrollpanelen Källa kan du hantera dina grenar och utföra grenrelaterade åtgärder. Den har två huvudavsnitt:

  • Åtgärder som du kan vidta för den aktuella grenen:

    • Förgrena till ny arbetsyta (valfri roll): Skapar en ny arbetsyta och en ny gren baserat på den senaste incheckningen av grenen som är ansluten till den aktuella arbetsytan. Den ansluter till den nya arbetsytan och den nya grenen.
    • Checka ut ny gren (måste vara arbetsyteadministratör): Skapar en ny gren baserat på den senaste synkroniserade incheckningen på arbetsytan och ändrar Git-anslutningen i den aktuella arbetsytan. Det ändrar inte innehållet på arbetsytan.
    • Växla gren (måste vara arbetsyteadministratör): Synkroniserar arbetsytan med en annan ny eller befintlig gren och åsidosätter alla objekt i arbetsytan med innehållet i den valda grenen.

    Skärmbild av fliken för utgrening på källkontrollpanelen.

  • Relaterade grenar.
    Fliken Grenar innehåller också en lista över relaterade arbetsytor som du kan välja och växla till. En relaterad arbetsyta är en med samma anslutningsegenskaper som den aktuella grenen, till exempel samma mapp för organisation, projekt, lagringsplats och git.
    På så sätt kan du navigera till arbetsytor som är anslutna till andra grenar som är relaterade till kontexten för ditt aktuella arbete, utan att behöva leta efter dem i listan över infrastrukturarbetsytor.
    Klicka på ett objekt i listan för att öppna relevant arbetsyta.

    Skärmbild som visar en lista över relaterade grenar som användaren kan växla till.

Mer information finns i Förgrena begränsningar .

Kontoinformation

Fliken Kontoinformation visar information om det GitHub-konto som användaren är ansluten till. Den har två avsnitt. Det översta avsnittet visar Git-providern och kontonamnet. I det nedre avsnittet visas lagringsplatsen och grenen som arbetsytan är ansluten till. För närvarande är den här fliken endast tillgänglig för arbetsytor som är anslutna till GitHub.

GitHub-kontoinformation omfattar:

  • Git-kontoinformation

    • Provider
    • Kontonamn
  • Git-lagringsplats

  • Filial

Skärmbild av fliken Konton i kontrollpanelen källa som visar Git-information och lagringsplats och grennamn.

Beaktanden och begränsningar

Allmänna begränsningar för Git-integrering

  • Autentiseringsmetoden i Infrastrukturresurser måste vara minst lika stark som autentiseringsmetoden för Git. Om Git till exempel kräver multifaktorautentisering måste Fabric också kräva multifaktorautentisering.
  • Power BI-datauppsättningar som är anslutna till Analysis Services stöds inte just nu.
  • Arbetsytor med mallappar installerade kan inte anslutas till Git.
  • Undermoduler stöds inte.
  • Nationella moln stöds inte.
  • Azure DevOps-kontot måste vara registrerat för samma användare som använder arbetsytan Infrastruktur.
  • Innehavaradministratören måste aktivera korsgeoexport om arbetsytan och Git-lagringsplatsen finns i två olika geografiska regioner.
  • Om din organisation har konfigurerat villkorlig åtkomst kontrollerar du att Power BI-tjänsten har samma villkor för att autentiseringen ska fungera som förväntat.
  • Incheckningsstorleken är begränsad till 125 MB.

Begränsningar för GitHub Enterprise

Vissa GitHub Enterprise-inställningar stöds inte. Till exempel:

Begränsningar för arbetsyta

  • Endast arbetsytans administratör kan hantera anslutningarna till Git-lagringsplatsen, till exempel ansluta, koppla från eller lägga till en gren.
    När den är ansluten kan alla med behörighet arbeta på arbetsytan.
  • Arbetsytans mappstruktur återspeglas inte i Git-lagringsplatsen. Arbetsyteobjekt i mappar exporteras till rotkatalogen.

Begränsningar för gren och mapp

  • Maximal längd på grennamnet är 244 tecken.
  • Maximal längd på fullständig sökväg för filnamn är 250 tecken. Längre namn misslyckas.
  • Maximal filstorlek är 25 MB.
  • Du kan inte ladda ned en rapport/datauppsättning som .pbix från tjänsten när du har distribuerat dem med Git-integrering.
  • Om objektets visningsnamn har någon av dessa egenskaper byter Git-mappen namn till det logiska ID:t (Guid) och skriver:
    • Har fler än 256 tecken
    • Slutar med en . eller ett mellanslag
    • Innehåller otillåtna tecken enligt beskrivningen i katalognamnsbegränsningar

Begränsningar för katalognamn

  • Namnet på katalogen som ansluter till Git-lagringsplatsen har följande namngivningsbegränsningar:

    • Katalognamnet kan inte börja eller sluta med ett blanksteg eller en flik.
    • Katalognamnet får inte innehålla något av följande tecken: "/:<>\*?|
  • Objektmappen (mappen som innehåller objektfilerna) får inte innehålla något av följande tecken: ":<>\*?|. Om du byter namn på mappen till något som innehåller något av dessa tecken kan Git inte ansluta eller synkronisera med arbetsytan och ett fel uppstår.

Förgrena begränsningar

  • Förgrening kräver behörigheter som anges i behörighetstabellen.
  • Det måste finnas en tillgänglig kapacitet för den här åtgärden.
  • Alla begränsningar för namngivning av arbetsyta och gren gäller när du förgrenar till en ny arbetsyta.
  • När du förgrenar ut skapas en ny arbetsyta och inställningarna från den ursprungliga arbetsytan kopieras inte. Justera eventuella inställningar eller definitioner för att säkerställa att den nya arbetsytan uppfyller organisationens principer.
  • Endast Git-objekt som stöds är tillgängliga på den nya arbetsytan.
  • Listan med relaterade grenar visar bara grenar och arbetsytor som du har behörighet att visa.
  • Git-integrering måste vara aktiverat.

Begränsningar för synkronisering och incheckning

  • Du kan bara synkronisera i en riktning i taget. Du kan inte checka in och uppdatera samtidigt.
  • Känslighetsetiketter stöds inte och export av objekt med känslighetsetiketter kan inaktiveras. Om du vill checka in objekt som har känslighetsetiketter utan känslighetsetiketten ber du administratören om hjälp.
  • Fungerar med begränsade objekt. Objekt som inte stöds i mappen ignoreras.
  • Duplicering av namn tillåts inte. Även om Power BI tillåter namnduplicering misslyckas åtgärden uppdatera, checka in eller ångra.
  • B2B stöds inte.
  • Konfliktlösningen görs delvis i Git.
  • Under incheckningen till Git-processen tar Fabric-tjänsten bort filer i objektmappen som inte ingår i objektdefinitionen. Orelaterade filer som inte finns i en objektmapp tas inte bort.
  • När du har checkat in ändringar kan du märka några oväntade ändringar i objektet som du inte gjorde. Dessa ändringar är semantiskt obetydliga och kan inträffa av flera skäl. Till exempel:
    • Ändra objektdefinitionsfilen manuellt. Dessa ändringar är giltiga, men kan vara annorlunda än om de görs via redigeringsprogram. Om du till exempel byter namn på en semantisk modellkolumn i Git och importerar den här ändringen till arbetsytan, nästa gång du checkar in ändringar i den semantiska modellen, registreras bim-filen som ändrad och den ändrade kolumnen skickas till baksidan av matrisen columns . Det beror på att AS-motorn som genererar bim-filerna skickar omdöpta kolumner till slutet av matrisen. Den här ändringen påverkar inte hur objektet fungerar.
    • Checka in en fil som använder CRLF-radbrytningar . Tjänsten använder radbrytningar för LF (radmatning). Om du hade objektfiler på Git-lagringsplatsen med CRLF-radbrytningar ändras filerna till LF när du checkar in från tjänsten. Om du till exempel öppnar en rapport på skrivbordet sparar du projektfilen (.pbip) och laddar upp den till Git med hjälp av CRLF-.
  • Om du uppdaterar en semantisk modell med hjälp av API:et för förbättrad uppdatering orsakas en Git-diff efter varje uppdatering.