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.
Nödvändiga Git-behörigheter för populära åtgärder
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.
Nödvändiga infrastrukturresurser för populära åtgärder
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.
Om du inte väljer vilket innehåll som ska synkroniseras kan du inte fortsätta att arbeta.
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:
Gå till fliken Konton till höger på kontrollpanelen Källa, välj ett konto och anslut till det.
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.
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
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.
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.
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
På 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.
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.
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
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:
- LISTA över TILLÅTNA IP-adresser
- Privata nätverk
- Anpassade domäner
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-.
- Ä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
- 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.