Základní koncepty integrace Gitu

Tento článek vysvětluje základní koncepty Gitu a proces integrace Gitu s pracovním prostorem Microsoft Fabric.

Oprávnění

  • Správce vaší organizace musí povolit integraci Gitu.
  • Pokud jsou pracovní prostor a úložiště Azure ve dvou různých oblastech, musí správce tenanta povolit export mezi geografickými oblastmi. Toto omezení neplatí pro GitHub.
  • Oprávnění, která máte v pracovním prostoru i Gitu, jak je uvedeno v dalších částech, určují akce, které můžete provést.

Následující seznam ukazuje, jaké různé role pracovního prostoru můžou dělat v závislosti na jejich oprávněních v úložišti Git:

  • Správce: Může v pracovním prostoru provádět jakoukoli operaci, která je omezená pouze jejich rolí Git.
  • Člen/přispěvatel: Jakmile se připojí k pracovnímu prostoru, může člen nebo přispěvatel potvrdit a aktualizovat změny v závislosti na své roli Gitu. V případě akcí souvisejících s připojením k pracovnímu prostoru (například připojení, odpojení nebo přepnutí větví) požádejte správce o pomoc.
  • Prohlížeč: Nemůže provádět žádné akce. Prohlížeč nemůže v pracovním prostoru zobrazit žádné související informace o Gitu.

Role pracovního prostoru

Následující tabulka popisuje oprávnění potřebná k provádění různých běžných operací v pracovním prostoru Fabric:

Operace Role pracovního prostoru
Připojení pracovního prostoru k úložišti Git Správce
Synchronizace pracovního prostoru s úložištěm Git Správce
Odpojení pracovního prostoru od úložiště Git Správce
Přepnutí na jinou větev v pracovním prostoru (nebo jakákoli změna v nastavení připojení) Správce
Zobrazit detaily připojení Git Správce, člen, přispěvatel
Podívejte se na pracovní prostor 'Git status' Správce, člen, přispěvatel
Aktualizace z Gitu Všechny následující role:

Přispěvatel v pracovním prostoru (oprávnění pro zápis u všech položek)

Vlastník položky (pokud přepínač tenanta blokuje aktualizace pro nevlastníky)

BUILD na externích závislostech (pokud je to možné)
Zavést změny v pracovním prostoru do Gitu Všechny následující role:

Přispěvatel v pracovním prostoru (oprávnění pro zápis u všech položek)

Vlastník položky (pokud přepínač tenanta blokuje aktualizace pro nevlastníky)

BUILD na externích závislostech (pokud je to možné)
Vytvořit novou větev Git z prostředí Fabric Správce
Přesunout se do jiného pracovního prostoru Správce, člen, přispěvatel

Role Gitu

Následující tabulka popisuje oprávnění Gitu potřebná k provádění různých běžných operací:

Operace Oprávnění Gitu
Připojení pracovního prostoru k úložišti Git Čtení=Povolit
Synchronizace pracovního prostoru s úložištěm Git Čtení=Povolit
Odpojení pracovního prostoru od úložiště Git Nejsou potřeba žádná oprávnění.
Přepnutí na jinou větev v pracovním prostoru (nebo jakákoli změna v nastavení připojení) Read=Allow (v cílovém úložišti, adresáři nebo větvi)
Zobrazit detaily připojení Git Přečteno nebo Žádné
Podívejte se na pracovní prostor 'Git status' Čtení=Povolit
Aktualizace z Gitu Čtení=Povolit
Zavést změny v pracovním prostoru do Gitu Čtení=Povolit
Přispět=Povolit
Politika větve by měla umožňovat přímé potvrzení.
Vytvořit novou větev Git z prostředí Fabric Role=Zápis
Vytvořit větev=Povolit
Přesunout se do jiného pracovního prostoru Čtení=Povolit
Vytvořit větev=Povolit

Připojení a synchronizace

Pracovní prostor může ke Repos Gitu připojit jenom správce pracovního prostoru, ale po připojení může v pracovním prostoru pracovat kdokoli s oprávněními. Pokud nejste správce, požádejte správce o pomoc s připojením.

Když připojíte pracovní prostor k Gitu, Fabric se synchronizuje mezi těmito dvěma umístěními, aby měly stejný obsah. Pokud je během této počáteční synchronizace pracovní prostor nebo větev Gitu prázdná, zatímco druhý obsahuje obsah, zkopíruje se obsah z neprázdného umístění do prázdného. Pokud pracovní prostor i větev Gitu obsahují obsah, musíte se rozhodnout, jaký směr má synchronizace proběhnout.

  • Pokud potvrdíte pracovní prostor do větve Git, veškerý podporovaný obsah pracovního prostoru se exportuje do Gitu a přepíše aktuální obsah Gitu.
  • Pokud pracovní prostor aktualizujete obsahem Gitu, obsah pracovního prostoru se přepíše a ztratíte obsah pracovního prostoru. Vzhledem k tomu, že větev Gitu lze kdykoli obnovit do předchozí fáze, ale pracovní prostor nikoliv, budete při volbě této možnosti vyzváni k potvrzení.

Snímek obrazovky s dialogovým oknem s dotazem, kterým směrem má být synchronizace, pokud má Git i pracovní prostor obsah.

Pokud nevyberete, který obsah se má synchronizovat, nebudete moct dál pracovat.

Snímek obrazovky s oznámením, že nemůžete pokračovat v práci, dokud se pracovní prostor nesynchronizuje

Složky

Při připojení a synchronizaci se struktura pracovního prostoru zrcadlí v úložišti Git, včetně struktury složek. Položky pracovního prostoru ve složkách se exportují do složek se stejným názvem v úložišti Git. Naopak položky ve složkách Gitu se naimportují do složek se stejným názvem v pracovním prostoru.

Poznámka:

Vzhledem k tomu, že je zachována struktura složek, pokud má váš pracovní prostor složky a připojená složka Git ještě nemá podsložky, považují se za jiné. Ve zdrojovém ovládacím panelu se zobrazí nepotvrzené změny a před aktualizací pracovního prostoru je potřeba změny commitnout do Gitu. Pokud provedete aktualizaci jako první, struktura složek Git přepíše strukturu složek pracovního prostoru. Další informace naleznete v tématu Zpracování změn složky bezpečně.

snímek obrazovky pracovního prostoru a odpovídající větve Gitu s podsložkami

  • Prázdné složky se nekopírují do Gitu. Když vytvoříte nebo přesunete položky do složky, vytvoří se složka v Gitu.
  • Prázdné složky v Gitu se odstraní automaticky.
  • Prázdné složky v pracovním prostoru se neodstraní automaticky, i když se všechny položky přesunou do různých složek.
  • Struktura složek se uchovává až do hloubky 10 úrovní.

Bezpečné zpracování změn složky

Pokud váš pracovní prostor obsahuje složky a připojená složka Git ještě nemá podsložky, považují se za jiné, protože struktura složek se liší. Když připojíte pracovní prostor, který má složky ke Gitu, získáte nepotvrzené změny v panelu pro správu zdrojového kódu a je potřeba změny nejprve potvrdit do Gitu před aktualizací pracovního prostoru.

Pokud nemůžete přímo provádět změny připojené větve kvůli zásadám nebo oprávněním větve, doporučujeme použít možnost Checkout Branch:

  1. Přepnout na novou větev: Pomocí funkce přepnutí větve vytvořte větev s aktualizovaným stavem pracovního prostoru Fabric.
  2. Potvrdit změny složky: Všechny změny složky pracovního prostoru lze pak potvrdit na této nové větvi.
  3. Sloučení změn: Použijte své běžné procesy pro pull request a slučování, abyste tyto aktualizace integrovali zpět do původní větve.

Připojení ke sdílenému pracovnímu prostoru

Pokud se pokusíte připojit k pracovnímu prostoru, který už je připojený k Gitu, může se zobrazit následující zpráva:

snímek obrazovky s chybovou zprávou s oznámením, že se chcete přihlásit k účtu Git.

Přejděte na kartu Accounts na pravé straně zdrojového control panel, zvolte účet a připojte se k němu.

Snímek obrazovky na kartě Účty s uživatelem připojujícím se k účtu GitHub.

git status

Po připojení se v pracovním prostoru zobrazí sloupec stavu Gitu, který označuje stav synchronizace jednotlivých položek v pracovním prostoru ve vztahu k položkám ve vzdálené větvi.

Snímek obrazovky s informacemi o stavu Gitu v pracovním prostoru

Každá položka má jeden z následujících stavů:

  • Synchronizováno (položka je stejná v pracovním prostoru a větvi Gitu)
  • Konflikt (položka se změnila jak v pracovním prostoru, tak ve větvi Gitu)
  • Nepodporovaná položka
  • Nepotvrzené změny v pracovním prostoru
  • Vyžaduje se aktualizace z Gitu
  • Položka je na obou místech shodná, ale je třeba ji aktualizovat na poslední commit.

Informace o synchronizaci

Pokud jste připojení, zobrazí se v dolní části obrazovky následující informace:

  • Připojená větev
  • Čas poslední synchronizace
  • Odkaz na poslední commit, s nímž je pracovní prostor synchronizován

Snímek obrazovky s informacemi o synchronizaci, které se zobrazí v dolní části obrazovky při připojení k Gitu

Podokno správy zdrojového kódu

Nahoře na obrazovce je ikona správy zdrojového kódu . Zobrazuje počet položek, které se liší mezi pracovním prostorem a větví Git. Když se změní pracovní prostor nebo větev Gitu, číslo se aktualizuje. Když je pracovní prostor synchronizován s větví Git, ikona správy verzí zobrazí 0.

Snímek obrazovky s ikonou správy zdrojového kódu zobrazující, že nebyly změněny žádné položky.

Vyberte ikonu Ovládání verze a otevřete panel Ovládání verze.

Podokno správy zdrojového kódu má po straně tři karty:

Potvrzení a aktualizace

Když dojde ke změnám pracovního prostoru nebo větve Git, ikona správy zdrojového kódu zobrazí počet položek, které se liší. Kliknutím na ikonu správy zdrojů se otevře panel pro správu zdrojů.

Panel Potvrzení a aktualizace má dvě části.

Změny zobrazují počet položek, které se v pracovním prostoru změnily, a je potřeba je potvrdit do Gitu. Aktualizace zobrazují počet položek, které byly změněny ve větvi Gitu, a je potřeba je aktualizovat do pracovního prostoru.

V každé části jsou změněné položky uvedené s ikonou označující stav:

  • nový
  • upravený
  • smazaný
  • konflikt
  • stejné-změny

Tlačítko Aktualizovat v horní části panelu aktualizuje seznam změn a aktualizací.

Snímek obrazovky ovládacího panelu zdrojového kódu zobrazující stav změněných položek.

Závazek

  • Položky v pracovním prostoru, které byly změněny, jsou uvedeny v části Změny . Pokud existuje více než jedna změněná položka, můžete vybrat, které položky se mají potvrdit do větve Git.
  • Pokud byla větev Gitu aktualizována, commity jsou deaktivovány, dokud neaktualizujete pracovní prostor.

Aktualizovat

  • Na rozdíl od commit a vrácení zpět příkaz Update vždy aktualizuje celou větev a synchronizuje s nejnovějším commitem. Nemůžete vybrat konkrétní položky, které chcete aktualizovat.
  • Pokud byly změny provedeny v pracovním prostoru a ve větvi Gitu ve stejné položce, budou aktualizace zakázané, dokud se konflikt nevyřeší.

Přečtěte si další informace o tom, jak potvrdit a aktualizovat. Přečtěte si další informace o procesu aktualizace a řešení konfliktů.

Pobočky

Karta Branches v panelu nástrojů pro řízení verzí umožňuje spravovat větve a provádět akce související s větvemi. Obsahuje následující části:

  • Větvení do jiného pracovního prostoru (přispěvatel a vyšší): Vytvoří nový větvený pracovní prostor, nebo přepne propojenou větev existujícího větveného pracovního prostoru na novou větev Git vytvořenou na základě posledního commitu zdrojového pracovního prostoru.
  • Vytvořit novou větev (je nutné být správcem pracovního prostoru): Vytvoří novou větev na základě posledního synchronizovaného commitu v pracovním prostoru a změní připojení k Gitu v aktuálním pracovním prostoru. Nezmění obsah pracovního prostoru.
  • Přepnout větev (je vyžadováno oprávnění správce pracovního prostoru): Synchronizuje pracovní prostor s jinou větví, ať už novou nebo existující, a přepíše všechny položky v pracovním prostoru obsahem vybrané větve.

Snímek obrazovky karty rozvětvení ve zdrojovém ovládacím panelu.

  • Související větve: Karta Související větve obsahuje také seznam souvisejících pracovních prostorů, na které můžete vybrat a přepnout. Související pracovní prostor je jedním z těchto dvou:
    1. Rozvětvené pracovní prostory
    2. Má stejné vlastnosti připojení jako aktuální větev, například stejná organizace, projekt, úložiště a složka Git. Tato funkce umožňuje přejít do souvisejících pracovních prostorů z kontextu aktuální práce, aniž byste je museli hledat v seznamu pracovních prostorů Fabric. Pokud chcete otevřít příslušný pracovní prostor, vyberte položku v seznamu.

Snímek obrazovky zobrazující seznam souvisejících větví, na které může uživatel přepnout

Další informace najdete v tématu Omezení větvení.

Podrobnosti o účtu

Na kartě Podrobnosti účtu se zobrazují podrobnosti GitHub účtu, ke kterému je uživatel připojený. Má dvě části. V horní části se zobrazuje poskytovatel Gitu a název účtu. V dolní části se zobrazí úložiště a větev, ke kterým je pracovní prostor připojený. V současné době je tato záložka dostupná pouze pro pracovní prostory připojené k GitHub.

podrobnosti o GitHub účtu zahrnují:

  • Podrobnosti o účtu Git

  • Poskytovatel

  • Název účtu

  • Úložiště Git

  • Pobočka

Snímek obrazovky s kartou účtů v ovládacím panelu Source zobrazující podrobnosti o Gitu a názvy úložišť a větví.

Úvahy a omezení

Obecná omezení integrace Gitu

  • Metoda ověřování ve Fabricu musí být alespoň tak silná jako metoda ověřování pro Git. Pokud například Git vyžaduje vícefaktorové ověřování, musí totéž vyžadovat i Fabric.
  • Datové sady Power BI připojené ke službě Analysis Services se v tuto chvíli nepodporují.
  • Pokud používáte identitu pracovního prostoru v jednom artefaktu a commitujete to do Git, můžete to aktualizovat (zpět do fabric pracovního prostoru) jenom v pracovním prostoru připojeném ke stejné identitě. Buďte opatrní, protože to také ovlivňuje funkce, jako je rozvětvování.
  • Submoduly nejsou podporovány.
  • Suverénní cloudová řešení nejsou podporována.
  • Pracovní prostory Fabric mohou obsahovat maximálně 1 000 položek Fabric a Power BI (viz Limity položek v pracovním prostoru). Tento limit platí pro všechny položky spravované prostřednictvím integrace Gitu. Pokud se váš pracovní prostor blíží tomuto limitu, zvažte jeho rozdělení na menší sady artefaktů – každou sadu umístěte do samostatného pracovního prostoru a vytvořte odkaz na jinou větev Gitu nebo uspořádejte jednu větev do různých složek. Podrobnosti o chování synchronizace, když větev Gitu překročí tento limit, najdete v tématu Omezení pracovního prostoru.
  • Azure DevOps není podporováno, pokud je povoleno ověřování zásad podmíněného přístupu k IP adresám .
  • Pokud se pracovní prostor a úložiště Git nacházejí ve dvou různých geografických oblastech, musí správce tenanta povolit křížové geografické exporty.
  • Pokud vaše organizace nakonfigurovala conditional access, ujistěte se, že Power BI Service má stejnou sadu conditions, aby ověřování fungovalo podle očekávání.
  • Použije se následující limit velikosti commitu:
    • 25 MB pomocí konektoru Azure DevOps se služebním hlavním objektem.
    • 125 MB s použitím výchozího účtu jednotného přihlašování (SSO) Microsoft Entra ID a Azure konektoru DevOps s instančním objektem uživatele.

omezení GitHub Enterprise

Některé verze a nastavení GitHub Enterprise se nepodporují. Příklad:

  • GitHub Enterprise Server s custom domain se nepodporuje, i když je instance veřejně přístupná
  • GitHub Enterprise Server hostovaný v privátní síti
  • seznam povolených IP adres

Aspekty migrace z Azure DevOps na GitHub Enterprise

Pokud váš tým používá Fabric Git integraci a vyhodnocuje migraci z Azure DevOps na GitHub Enterprise, doporučuje se spustit ověřovací testy pro zajištění, že funkce integrace Gitu zůstanou nedotčené. Integrace Gitu infrastruktury spoléhá na základní rozhraní API poskytovatele Gitu, která se liší v možnostech a omezeních mezi Azure DevOps a GitHub Enterprise, jak je popsáno výše.

Rozdíly mezi integrací Gitu a chováním při obnově položek z koše

Pokud používáte integraci Gitu, může dojít k neočekávanému chování ve scénářích, kdy se odstraněné položky znovu vytvářejí nebo obnovují prostřednictvím kombinace operací Gitu a obnovení koše. K tomu dochází, protože operace Gitu (například Vrátit změny nebo Aktualizovat z Git) znovu vytvoří odstraněné položky s přiřazením nového ID položky, zatímco obnovení položky z bitového koše ponechává původní ID položky. V důsledku toho můžou v pracovním prostoru existovat duplicitní položky s různými identitami, což může způsobit, že integrace Gitu přestane fungovat podle očekávání a může také ovlivnit existující závislosti.

Omezení rizik

Odstraňte položku, kterou znovu vytvořila integrace Gitu. Po odebrání duplicitní položky by operace Gitu měly normálně pokračovat.

Další poznámka

Integrace Gitu znovu vytvoří definice položek a neobnoví data položek. Naproti tomu obnovení položky z koše obnoví definici položky i její data.

Omezení pracovního prostoru

  • Připojení ke službě Git Repo jako je připojení, odpojení nebo přidání větve.
    Po připojení může v pracovním prostoru pracovat kdokoli s oprávněním.
  • Pracovní prostory s nainstalovanými aplikacemi šablon se nedají připojit k Gitu.
  • MyWorkspace se nemůže připojit k poskytovateli Gitu.
  • Pracovní prostory můžou obsahovat maximálně 1 000 položek. Pokud větev Gitu obsahuje více než 1 000 položek, synchronizace obsahu do pracovního prostoru se nezdaří. Abyste se tomuto omezení vyhnuli, zvažte rozdělení artefaktů na menší sady. Každá sada by měla být umístěná v samostatném pracovním prostoru a propojená s jinou větví Gitu nebo uspořádaná do různých složek v rámci jedné větve. Další informace najdete v limitech položek pracovního prostoru.

Omezení větví a složek

  • Maximální délka názvu větve je 244 znaků.
  • Maximální délka celé cesty pro názvy souborů je 250 znaků. Delší názvy nefungují.
  • Maximální velikost souboru je 25 MB.
  • Složková struktura se udržuje až do 10 úrovní hloubky.
  • Stažení sestavy nebo datové sady jako .pbix ze služby po jejich nasazení pomocí integrace s Gitem se nedoporučuje, protože výsledky jsou nespolehlivé. Ke stažení sestav nebo datových sad jako .pbix doporučujeme použít Power BI Desktop.
  • Pokud zobrazovaný název položky má některou z těchto charakteristik, složka Git se přejmenuje na logické ID (Guid) a typ:
    • Má více než 256 znaků.
    • Končí znakem . nebo mezerou.
    • Obsahuje všechny zakázané znaky, jak je popsáno v omezeních názvu adresáře
  • Když připojíte pracovní prostor, který má složky k Gitu, budete muset potvrdit změny v úložišti Git, pokud se tato struktura složek liší.

Omezení názvů adresářů

  • Název adresáře, který se připojuje k úložišti Git, má následující omezení pojmenování:

    • Název adresáře nemůže začínat ani končit mezerou nebo tabulátorem.
    • Název adresáře nemůže obsahovat žádný z následujících znaků: "/:<>\*?|
  • Složka položky (složka obsahující soubory položek) nemůže obsahovat žádný z následujících znaků: ":<>\*?|. Pokud složku přejmenujete na něco, co obsahuje jeden z těchto znaků, Git se nemůže připojit nebo synchronizovat s pracovním prostorem a dojde k chybě.

Omezení synchronizace a potvrzení

  • Můžete synchronizovat pouze v jednom směru najednou. Nemůžete potvrdit a aktualizovat současně.
  • Popisky citlivosti nejsou podporované a export položek s popisky citlivosti může být zakázaný. Pokud chcete potvrdit položky s popisky citlivosti bez popisku citlivosti, požádejte o pomoc správce .
  • Funguje s omezenými položkami. Nepodporované položky ve složce se ignorují.
  • Duplikování názvů není povoleno. I když Power BI povolí duplikaci názvů, selže akce aktualizace, potvrzení nebo vrácení zpět.
  • B2B se nepodporuje.
  • Řešení konfliktů se částečně provádí v Gitu.
  • Během procesu Potvrzení do Gitu služba Fabric odstraní soubory ve složce položek , které nejsou součástí definice položky. Nesouvisející soubory, které nejsou ve složce položek, se neodstraní.
  • Po potvrzení změn si můžete všimnout neočekávaných změn položky, kterou jste neudělali. Tyto změny jsou séanticky nevýznamné a mohou k tomu dojít z několika důvodů. Příklad:
    • Ruční změna definičního souboru položky Tyto změny jsou platné, ale můžou se lišit od toho, co se provádí prostřednictvím editorů. Pokud například přejmenujete sloupec sémantického modelu v Gitu a naimportujete tuto změnu do pracovního prostoru, při příštím potvrzení změn do sémantického modelu se soubor bim zaregistruje jako změněný a upravený sloupec se vloží do zadní části columns pole. Důvodem je to, že modul AS, který generuje soubory BIM , odesílá přejmenované sloupce na konec pole. Tato změna nemá vliv na způsob fungování položky.
    • Commitovat soubor, který používá konce řádků CRLF. Služba používá LF (line feed) pro zalomení řádků. Pokud jste měli soubory položek v úložišti Git s konci řádků CRLF, při potvrzení změn ze služby se tyto soubory změní na LF. Pokud například otevřete sestavu na počítači, uložte soubor projektu (.pbip) a nahrajte ho do úložiště Git pomocí CRLF.
  • Aktualizace sémantického modelu pomocí rozšířeného rozhraní API pro aktualizaci způsobí změnu v Gitu po každé aktualizaci.