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
- Organisationens administratör måste aktivera Git-integrering.
- Innehavaradministratören måste aktivera export över flera geografiska områden om arbetsytan och Azure lagringsplats finns i två olika regioner. Den här begränsningen gäller inte för GitHub.
- De behörigheter som du har i både arbetsytan och Git, enligt beskrivningen i nästa avsnitt, bestämmer vilka åtgärder du kan vidta.
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 göra en commit 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.
- Visare: Det går inte att utföra några åtgärder. Användaren kan inte se någon Git-relaterad information i arbetsytan.
Nödvändiga Fabric-behörigheter för populära åtgärder
Arbetsplatsroller
I följande tabell beskrivs de behörigheter som krävs i Fabric-arbetsytan för att utföra olika vanliga åtgärder:
Åtgärd | Roll i arbetsområde |
---|---|
Ansluta arbetsyta till Git-lagringsplats | Administratör |
Synkronisera arbetsyta med Git-lagringsplats | Administratör |
Koppla från arbetsytan från Git-lagringsplatsen | Administratör |
Byt gren på arbetsytan (eller vid ändring i anslutningsinställningarna) | Administratör |
Visa Git-anslutningsinformation | Administratör, Medlem, Deltagare |
Se arbetsytans Git-status | Administratör, Medlem, Deltagare |
Uppdatera från Git | Alla följande roller: Medverkande i arbetsytan (skrivrättighet för alla objekt) Objektets ägare (om klientväxeln blockerar uppdateringar för icke-ägare) Bygga på externa beroenden (om tillämpligt) |
Kommitta ändringar i arbetsmappen till Git | Alla följande roller: Medverkande i arbetsytan (skrivrättighet 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 Fabric | Administratör |
Förgrena ut till en annan arbetsyta | Administratör, Medlem, Deltagare |
Gitroller
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 | Läsa=Tillåt |
Synkronisera arbetsyta med Git-lagringsplats | Läsa=Tillåt |
Koppla från arbetsytan från Git-lagringsplatsen | Inga behörigheter krävs |
Byt gren på arbetsytan (eller någon ändring i anslutningsinställningarna) | Läsa=Tillåt (i målrepo/katalog/gren) |
Visa Git-anslutningsinformation | Läs eller inget |
Se arbetsytans Git-status | Läsa=Tillåt |
Uppdatera från Git | Läsa=Tillåt |
Kommitta ändringar i arbetsmappen till Git | Läsa=Tillåt Contribute=Tillåt grenprincip bör tillåta direkt incheckning |
Skapa en ny Git-gren inifrån Fabric | Roll: Skriv Skapa gren=Tillåt |
Förgrena ut till en annan arbetsyta | Läsa=Tillåt 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 innehåller data under denna inledande synkronisering, kopieras innehållet från platsen med innehåll 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 förbinder din arbetsyta till Git-grenen exporteras allt arbetsytans innehåll som stöds till Git och ersätter det befintliga 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.
Mappar
Mappar stöds ännu inte i Git. För närvarande visas alla objekt på den översta nivån i Git-mappen även om arbetsytan har mappar.
Anmärkning
Om din arbetsyta har mappar och den anslutna Git-mappen ännu inte har undermappar anses de vara olika. Du får en okommitterade ändringar status i källkontrollpanelen och du måste kommitta ändringarna i Git innan du uppdaterar arbetsytan. Om du uppdaterar först skriver Git-mappstrukturen över mappstrukturen för arbetsytan. Mer information finns i Hantera mappändringar på ett säkert sätt.
Hantera mappändringar på ett säkert sätt
Om din arbetsyta har mappar och den anslutna Git-mappen ännu inte har undermappar anses de vara olika eftersom mappstrukturen skiljer sig. När du ansluter en arbetsyta som har mappar till Git får du en ej fastställda ändringar status i källkontrollpanelen och du måste committa ändringarna i Git innan arbetsytan kan uppdateras.
Om du inte kan göra ändringar i den anslutna grenen direkt på grund av grenprincip eller behörigheter rekommenderar vi att du använder alternativet Checkout Branch:
- Checka ut en ny gren: Använd funktionen för att checka ut en gren för att skapa en gren med det uppdaterade tillståndet för din Fabric-arbetsyta.
- Anslå mappändringar: Alla ändringar i arbetsytamappar kan sedan anslås till den nya grenen.
- Sammanfoga ändringar: Använd dina vanliga pull-begäranden (PR) och sammanslagningsprocesser för att integrera dessa uppdateringar i den ursprungliga grenen.
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
-
Ocommitterade ändringar i arbetsytan
-
Uppdatering krävs från Git
-
Objektet är identiskt på bägge platserna men måste uppdateras till den senaste commiten.
Synkroniseringsinformation
Så länge du är ansluten visas följande information längst ned på skärmen:
- Ansluten avdelning
- Tidpunkt för senaste synkronisering
- Länk till den senaste commiten som arbetsytan är synkroniserad med
Källkontrollruta
Ö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 är synkroniserad med Git-grenen visar ikonen för Källkodshantering ett 0.
Välj ikonen Källkontroll för att öppna källkontrollpanelen.
Källkontrollfönstret har tre flikar på sidan:
Åtaganden 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.
Utföra
- 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 committeras till en Git-gren.
- Om det gjordes uppdateringar i Git-grenen är commits inaktiverade tills du uppdaterar arbetsytan.
Uppdatera
- Till skillnad från commit och undo, uppdaterar kommandot Update alltid hela grenen och synkroniserar med den senaste commit. 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 committerar 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:
- Expandera till en annan arbetsyta (deltagare och ovan): Skapar en ny arbetsyta eller växlar till en befintlig arbetsyta baserat på den senaste ändringen till den aktuella arbetsytan. Den ansluter sedan till målarbetsytan och 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.
Med den här funktionen kan du navigera till arbetsytor som är anslutna till andra grenar relaterade till kontexten för ditt aktuella arbete, utan att behöva leta efter dem i din lista över Fabric-arbetsytor.
Om du vill öppna relevant arbetsyta väljer du objekt i listan.
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
- Leverantör
- 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 på samma användare som använder Fabric-arbetsytan.
- Azure DevOps stöds inte om aktivering av IP-villkorsstyrd åtkomstprincipvalidering är aktiverad.
- Innehavaradministratören måste aktivera korsgeoexport om arbetsytan och Git-lagringsplatsen finns i två olika geografiska regioner.
- Om din organisation har konfigurerat villkorlig åtkomstkontrollerar du att Power BI-tjänsten har samma villkor som för att autentiseringen ska fungera som förväntat.
- Commitstorleken ä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 branch.
När den är ansluten kan alla med behörighet arbeta på arbetsytan.
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 fungerar inte.
- Maximal filstorlek är 25 MB.
- Mappstrukturen upprätthålls i maximalt 10 nivåer.
- 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
- När du ansluter en arbetsyta som har mappar till Git måste du checka in ändringar på Git-lagringsplatsen om den mappstrukturen är annorlunda.
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 mellanslag eller en tabb.
- 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.
- 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.
- När du förgrenar ut skapas en ny gren och inställningarna från den ursprungliga grenen kopieras inte. Justera alla inställningar eller definitioner för att säkerställa att det nya uppfyller organisationens principer.
- När du grenar ut till en befintlig arbetsyta:
- Målarbetsytan måste ha stöd för en Git-anslutning.
- Användaren måste vara administratör för målarbetsytan.
- Målarbetsytan måste ha kapacitet.
- Arbetsytan kan inte ha mallappar.
- Observera att när du förgrenar dig till en arbetsyta kan alla objekt som inte sparas i Git gå förlorade. Vi rekommenderar att du kommitterar ändringar som du vill behålla innan du förgrenar dig.
Begränsningar för synkronisering och commit-funktioner
- 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. För att utföra objekt som ska ha känslighetsetiketter men saknar sådana, rådgör med din administratör för 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 uppdatera-, commit- eller ångra-åtgärden.
- 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 genomfört ändringar kan du märka några oväntade ändringar för 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. - Committerar en fil som använder CRLF-radbrytningar. Tjänsten använder LF (radmatning) radbrytningar. 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.