Git 統合の基本的な概念

この記事では、Git の基本的な概念と、Git と Microsoft Fabric ワークスペースを統合するプロセスについて説明します。

重要

この機能はプレビュー段階にあります。

アクセス許可

Azure DevOps のアクセス許可

次の一覧は、Azure DevOps のアクセス許可に応じて実行できるさまざまなワークスペース ロールを示しています:

  • 管理者: ワークスペースに対して任意の操作を実行でき、Azure DevOps ロールによってのみ制限されます。
  • メンバー/共同作成者: ワークスペースに接続すると、メンバー/共同作成者は、Azure DevOps ロールに応じて変更をコミットおよび更新できます。 ワークスペース接続に関連するアクション (接続、切断、ブランチの切り替えなど) の場合は、管理からヘルプを求めます。
  • 閲覧者: 何のアクションもできません。 閲覧者は、ワークスペースに Git 関連情報を表示できません。

一般的な操作に必要なアクセス許可

次の表では、さまざまな一般的な操作を実行するために必要なアクセス許可について説明します:

操作 ワークスペース ロール Git アクセス許可
ワークスペースを Git リポジトリに接続する Admin Read=Allow
ワークスペースを Git リポジトリと同期する Admin Read=Allow
ワークスペースを Git リポジトリから切断する Admin アクセス許可は必要ありません
ワークスペース内のブランチを切り替える (または接続設定の変更) Admin Read=Allow (ターゲット リポジトリ/ディレクトリ/ブランチ内)
Git 接続の詳細を表示する 管理者、メンバー、共同作成者 読み取りまたはなし
ワークスペースの 'Git 状態' を確認する 管理者、メンバー、共同作成者 Read=Allow
Git から更新する 次のすべて:

ワークスペースの共同作成者 (すべてのアイテムに対する書き込みアクセス許可)

アイテムの所有者 (テナント スイッチが非所有者の更新をブロックする場合)

外部依存関係に基づいてビルドする (該当する場合)
Read=Allow
ワークスペースの変更を Git にコミットする 次のすべて:

ワークスペースの共同作成者 (すべてのアイテムに対する書き込みアクセス許可)

アイテムの所有者 (テナント スイッチが非所有者の更新をブロックする場合)

外部依存関係に基づいてビルドする (該当する場合)
Read=Allow
Contribute=Allow
ブランチ ポリシーで直接コミットを許可する必要がある
Fabric 内から新しい Git ブランチを作成する Admin Role=Write
Create branch=Allow

接続と同期

ワークスペース管理者のみがワークスペースを Azure Repos に接続できますが、一度接続すると、アクセス許可を持つすべてのユーザーがワークスペースで作業できます。 管理者でない場合は、管理者に連絡して、接続の支援をしてもらってください。

ワークスペースを Git に接続すると、2 つの場所の間で同じコンテンツが含まれるように Fabric が同期されます。 この初期同期中に、ワークスペースまたは Git ブランチのいずれか一方が空で、もう一方にコンテンツがある場合、コンテンツは、空ではない場所から空の場所にコピーされます。 ワークスペースと Git ブランチの両方にコンテンツがある場合は、同期の方向を決定する必要があります。

  • ワークスペースを Git ブランチにコミットすると、サポートされているすべてのワークスペース コンテンツが Git にエクスポートされ、現在の Git コンテンツが上書きされます。
  • Git コンテンツを使用してワークスペースを更新すると、ワークスペースのコンテンツが上書きされ、ワークスペースのコンテンツが失われます。 Git ブランチは常に前のステージに復元できますが、ワークスペースでは復元できないため、このオプションを選択した場合は、確認を求められます。

Screenshot of dialog asking which direction to sync if both Git and the workspace have content.

同期するコンテンツを選択しないと、選択するまで作業を続けることができません:

Screenshot notification that you can't continue working until workspace is synced.

Git の状態

接続すると、ワークスペースに Git 状態 列が表示されます。この列は、リモート ブランチ内のアイテムに対するワークスペース内の各アイテムの同期状態を示します。

Screenshot if items in a workspace with their Git status outlined.

各アイテムは、次のいずれかの状態にあります:

  • 同期済み (項目はワークスペースと Git ブランチで同じです)
  • 競合 (項目がワークスペースと Git ブランチの両方で変更されました)
  • サポートされていないアイテムです
  • ワークスペースの項目がコミットされていません
  • Git からの更新が必要
  • アイテムは両方の場所で同じですが、最後のコミットに更新する必要があります

同期情報

接続している限り、画面の下部に次の情報が表示されます:

  • 接続されているブランチ
  • 前回の同期時刻
  • ワークスペースが同期されている最後のコミットへのリンク

Screenshot of sync information that appears on the bottom of the screen when connected to Git.

コミットと更新

ソース管理ウィンドウ

画面の上部には、[ソース管理] アイコンがあります。 ワークスペースと Git ブランチで異なる項目の数が表示されます。 ワークスペースが Git ブランチと同期されると、[ソース管理] アイコンに 0 が表示されます。

Screenshot of the source control icon showing zero items changed.

ワークスペースまたは Git ブランチのいずれかに変更が加えられた場合、[ソース管理] アイコンには、異なる項目の数が表示されます。 [ソース管理] アイコンを選択して、[ソース管理] ウィンドウを開きます。

[ソース管理] ペインの [変更] タブには、ワークスペースで変更され、Git にコミットする必要がある項目の数が表示され、[更新] タブには、Git ブランチで変更され、ワークスペースに更新する必要がある項目の数が表示されます。

各タブでは、変更されたアイテムが状態を示すアイコンと共に一覧表示されます:

  • 新規
  • 変更済み
  • 削除済み
  • 競合

Screenshot of the source control panel showing the status of the changed items.

Commit

  • コミットする項目が複数ある場合は、Git ブランチにコミットする項目を選択できます。
  • Git ブランチに対して更新が行われた場合、ワークスペースを更新するまでコミットは無効になります。

Update

  • コミット元に戻すのとは異なり、Update コマンドを使うと常にブランチ全体が更新され、最新のコミットに同期されます。 更新する特定のアイテムを選択することはできません。
  • ワークスペース内と Git ブランチ内で同じ項目が変更された場合、競合が解決されるまで更新は無効になります。

コミット更新の方法の詳細については、こちらをご覧ください。 更新プロセスと 競合を解決する方法の詳細については、こちらをご覧ください。

考慮事項と制限事項

一般的な制限事項

  • Azure DevOps アカウントは、Fabric ワークスペースを使用しているのと同じユーザーに登録する必要があります。
  • Power BI の認証方法は、Azure DevOps の認証方法と少なくとも同じ強度である必要があります。 たとえば、Azure DevOps で多要素認証が必要な場合、Power BI でも多要素認証が必要です。
  • 現時点では、Power BI データセットと Analysis Services の直接クエリ モデルと複合モデルはサポートされていません。
  • 現時点では、DirectLake セマンティック モデルはサポートされていません。
  • 拡張更新 API を使ってセマンティック モデルを更新すると、更新のたびに Git diff が行われます。

ワークスペースの制限事項

Azure Repo への接続 (接続、切断、ブランチの追加など) は、ワークスペース管理者のみが管理できます。 接続すると、アクセス許可を持つすべてのユーザーがワークスペースで作業できるようになります。

ブランチとフォルダーの制限事項

  • ブランチ名の最大長は 244 文字です。

  • ファイル名の完全パスの最大長は 250 文字です。 これらより長い名前は失敗します。

  • 最大ファイル サイズは 25 MB です。

  • レポートまたはデータセットは、Git 統合を使用してデプロイすると、サービスから .pbix としてダウンロードできなくなります。

  • アイテムの表示名が:

    • 256 文字を超える場合
    • 末尾が .` またはスペースの場合
    • 次のいずれかの文字が含まれる場合: "/:<>\\*?|

    Git でフォルダーに名前を付ける際に、論理 ID (Guid) が型の前にプレフィックスとして追加されます。

同期とコミットの制限事項

  • コミットのサイズ制限は 125 MB です。
  • 同期できる方向は一度に 1 つだけです。 同時にコミットと更新をすることはできません。
  • 秘密度ラベルはサポートされていないため、秘密度ラベルを持つアイテムのエクスポートは無効化される可能性があります。 秘密度ラベルのない秘密度ラベルを持つアイテムをコミットするには、管理者にヘルプを依頼してください
  • 制限付きアイテムに対応しています。 サポートされていないアイテムが フォルダー内にある場合、それらは無視されます。
  • 名前の複製は許可されません。Power BI で許可されている場合でも、更新、コミット、または元に戻す操作は失敗します。
  • B2B はサポートされていません。
  • 競合の解決 は部分的に Git で行われます。