共用方式為


Git 整合的基本概念

本文章說明 Git 的基本概念和整合 Git 與 Microsoft Fabric 工作區的程序。

權限

  • 若要使用 Git 整合,貴組織中的管理員必須將其啟用
  • 如果工作區和 Azure 存放庫位於兩個不同的區域,租用戶管理員必須啟用跨地區匯出。 此限制不適用於 GitHub。
  • 您可以對工作區採取的動作取決於您在工作區和 Git 中擁有的權限,如下幾節所述。

下列清單顯示了根據它們在 Git 存放庫中的權限,不同的工作區角色可以執行的動作:

  • 管理員:可以在工作區上執行任何作業,僅受其 Git 角色所限制。
  • 成員/參與者:連線到工作區后,成員/參與者可以根據其 Git 角色認可和更新變更。 如需與工作區連線相關的動作 (例如,連線、中斷連線或切換分支),請向管理員尋求協助。
  • 檢視人員:無法執行任何動作。 檢視人員在工作區中看不到任何 Git 相關資訊。

工作區角色

下表描述了在 Fabric 工作區中執行各種常見作業所需的權限:

運算 工作區角色
將工作區連線至 Git 存放庫 管理
同步工作區與 Git 存放庫 管理
中斷工作區與 Git 存放庫的連線 管理
切換工作區中的分支 (或連線設定的任何變更) 管理
檢視 Git 連線的詳細資料 管理員、成員、參與者
參閱工作區「Git 狀態」 管理員、成員、參與者
從 Git 更新 下列所有項:

工作區中的參與者 (所有項目的寫入權限)

項目的擁有者 (如果租用戶交換器對非擁有者封鎖更新)

建置外部相依性 (在適用的情況下)
將工作區變更認可至 Git 下列所有項:

工作區中的參與者 (所有項目的寫入權限)

項目的擁有者 (如果租用戶交換器對非擁有者封鎖更新)

建置外部相依性 (在適用的情況下)
從 Fabric 內部建立新的 Git 分支 管理
分支至新的工作區 管理員、成員、參與者

Git 角色

下表描述了執行各種常見作業所需的 Git 權限:

運算 Git 權限
將工作區連線至 Git 存放庫 讀取 = 允許
同步工作區與 Git 存放庫 讀取 = 允許
中斷工作區與 Git 存放庫的連線 無需任何權限
切換工作區中的分支 (或連線設定的任何變更) 讀取 = 允許允許 (在目標存放庫/目錄/分支中)
檢視 Git 連線的詳細資料 讀取或無
參閱工作區「Git 狀態」 讀取 = 允許
從 Git 更新 讀取 = 允許
將工作區變更認可至 Git 讀取 = 允許
參與 = 允許
分支原則應允許直接認可
從 Fabric 內部建立新的 Git 分支 角色 = 寫入
建立分支 = 允許
分支至新的工作區 讀取 = 允許
建立分支 = 允許

連線和同步

僅工作區管理員可以將工作區連線到 Git Repos,但一旦連線,具有權限的任何人均可以在工作區中工作。 如果您不是管理員,請向管理員尋求連線方面的協助。

將工作區連線至 Git 時,Fabric 會在這兩個位置之間同步,因此這兩個位置具有相同的內容。 在此初始同步期間,如果工作區和 Git 分支二者中任意一個位置是空的,而另一個有內容,則會將內容從非空位置拷貝到空位置。 如果工作區和 Git 分支均有內容,則必須決定同步方向。

  • 如果將工作區認可至 Git 分支,所有受支援的工作區內容都會匯出至 Git,並覆寫目前的 Git 內容。
  • 如果以 Git 內容更新工作區,則該工作區的內容會被覆寫,導致工作區內容遺失。 由於 Git 分支一律可以還原至上一個階段,而工作區則無法還原,因此如果選擇此選項,系統會要求您確認。

當 Git 和工作區均有內容時詢問要同步的方向的對話框螢幕擷取畫面。

如果未選取要同步的內容,則無法繼續運作。

在同步工作區之前無法繼續運作的通知的螢幕擷取畫面。

連線到共用工作區

如果嘗試連線到已連線到 Git 的工作區,可能會收到下列訊息:

告知您登入 Git 帳戶的錯誤訊息的螢幕擷取畫面。

前往 [原始檔控制] 面板右側的 [帳戶] 索引標籤,選擇一個帳戶,然後連線到該帳戶。

[帳戶] 索引標籤的螢幕擷取畫面,顯示了用戶連線到 GitHub 帳戶。

git status

連線之後,工作區會顯示 [Git 狀態] 資料行,指出工作區中每個項目相對於遠端分支中項目的同步狀態。

工作區中項目 (其 Git 狀態已列出) 的螢幕擷取畫面。

每個項目都有下列其中一個狀態:

  • 已同步 (在工作區和 Git 分支中為同一個項目)
  • 衝突 (該項目在工作區和 Git 分支中均已被更改)
  • 不受支援的項目
  • 工作區中未認可的變更
  • 需要從 Git 更新
  • 項目在這兩個位置都是相同的,但必須更新至上次認可

同步資訊

只要已連線,下列資訊就會出現在螢幕底部:

  • 已連線的分支
  • 上次同步時間
  • 轉至工作區同步至的最後一次認可的連結

已連線至 Git 時螢幕底部顯示的同步資訊的螢幕擷取畫面。

原始檔控制窗格

螢幕頂端為 [原始檔控制] 圖示。 其顯示工作區和 Git 分支中有差異的項目的數目。 對工作區或 Git 分支進行更改時,此數目也會更新。 當工作區變更已同步至 Git 分支時,原始檔控制圖示會顯示 0

原始檔控制圖示的螢幕擷取畫面,顯示無項目發生更改。

選取 [原始檔控制] 圖示以開啟 [原始檔控制] 面板。

原始檔控制窗格側邊有三個索引標籤:

認可和更新

對工作區或 Git 分支進行更改時,原始檔控制圖示會顯示有差異的項目的數目。 選取 [原始檔控制] 圖示以開啟 [原始檔控制] 面板。

[認可和更新] 面板有兩個區段。

[變更] 顯示工作區中已變更且需要認可至 Git 的項目數目。
[更新] 顯示在 Git 分支中已修改且必須更新至工作區的項目數目。

在每個區段中,已更改的項目會使用一個指出其狀態的圖示列出:

  • 新增
  • 已修改
  • 已刪除
  • 衝突

面板頂端的 [重新整理] 按鈕用以更新變更和更新清單。

螢幕擷取畫面,其中顯示已變更項目狀態的原始檔控制面板。

認可

  • 工作區中已更改的項目列在 [變更] 區段中。 有多個已更改的項目時,可以選取要認可至 Git 分支的項目。
  • 如果對 Git 分支進行了更新,則會停用認可,直至更新了工作區為止。

更新

  • 與 [認可] 和 [復原] 不同,[更新] 命令會更新整個分支,並同步至最新的認可。 無法選取特定項目進行更新。
  • 如果在工作區和 Git 分支中的同一個項目做出了更改,則會停用更新,直至衝突解決為止。

深入了解如何認可更新。 深入更新程序以及如何解決衝突

分支

您可以使用 [原始檔控制] 面板的 [分支] 索引標籤管理分支並執行分支相關動作。 該索引標籤有兩個主要區段:

  • 可以在最新分支上執行的動作

    • [分支至新的工作區] (任何角色):根據已連線至目前工作區之分支的最後一次認可,建立新的工作區和新分支。 其會連線到新的工作區和新分支。
    • 簽出新分支 (必須是工作區管理員):根據工作區中上次同步認可建立新的分支,並變更目前工作區中的 Git 連線。 其不會更改工作區內容。
    • 切換分支 (必須是工作區管理員):將工作區與另一個新的或現有的分支同步處理,並使用所選分支的內容覆寫工作區中的所有專案。

    原始檔控制面板中分支索引標籤的螢幕擷取畫面。

  • 相關分支
    [分支] 索引標籤也有您可以選取並切換的相關工作區清單。 相關工作區與最新分支具有相同的連線屬性,例如相同的組織、專案、存放庫和 Git 資料夾。
    因此您可以瀏覽至連線到與目前工作內容相關的其他分支的工作區,而不需要在 Fabric 工作區清單中尋找它們。
    按一下清單中的項目可以開啟相關的工作區。

    顯示使用者可以切換之相關分支清單的螢幕擷取畫面。

如需詳細資訊,請參閱<分支限制>。

帳戶詳細資料

[帳戶詳細資料] 索引標籤顯示使用者所連線的 GitHub 帳戶的詳細資料。 此索引標籤有兩個區段。 頂端區段顯示 Git 提供者和帳戶名稱。 底部區段顯示工作區所連線的存放庫和分支。 目前,此索引標籤僅適用於已連線至 GitHub 的工作區。

GitHub 帳戶詳細資料包括:

  • Git 帳戶詳細資料

    • 提供者
    • 帳戶名稱
  • Git 存放庫

  • 分支

原始檔控制面板中帳戶索引標籤的螢幕擷取畫面,其中顯示 Git 詳細資料、存放庫和分支名稱。

考量與限制

Git 整合一般限制

  • Fabric 中的驗證方法必須至少與 Git 的驗證方法一樣嚴格。 例如,如果 Git 需要多重要素驗證,Fabric 也需要多重要素驗證。
  • 目前不支援連線至 Analysis Services 的 Power BI 資料集。
  • 已安裝範本應用程式的工作區無法連線到 Git。
  • 不支援子模組。
  • 主權雲端不支援。
  • Azure DevOps 帳戶必須註冊至正在使用 Fabric 工作區的相同使用者。
  • 如果工作區和 Git 存放庫位於兩個不同的地理區域,租用戶管理員必須啟用跨地區匯出
  • 如果您的組織設定條件式存取,請確定Power BI服務已設定相同的條件,以便驗證如預期般運作。
  • 認可大小限制為 125 MB。

GitHub Enterprise 限制

不支援某些 GitHub Enterprise 設定。 例如:

工作區限制

  • 僅工作區管理員可以管理與 Git 存放庫的連線,例如連線、中斷連線或新增分支。
    連線之後,具有權限的任何人都可以在工作區中工作。
  • 工作區資料夾結構不會反映在 Git 存放庫中。 資料夾中的工作區項目會匯出至根目錄。

分支和資料夾限制

  • 分支名稱長度上限為 244 個字元。
  • 檔案名稱的完整路徑長度上限為 250 個字元。 名稱較長則會失敗。
  • 檔案大小上限為 25 MB。
  • 使用 Git 整合部署報表/資料集之後,您無法從服務中將它們下載為 .pbix
  • 如果項目的顯示名稱具有下列任何特性,Git 資料夾會重新命名為邏輯識別碼 (Guid) 並輸入:

目錄名稱限制

  • 線上至 Git 存放庫的目錄名稱具有下列命名限制:

    • 目錄名稱不能以空格或 Tab 開頭或結尾。
    • 目錄名稱不能包含下列任何字元:/<>\*|
  • 項目資料夾(包含項目檔案的資料夾)不能包含下列任何字元:<>\*|。 如果您將資料夾重新命名為包含其中一個字元,則 Git 無法連線或同步處理工作區,並會發生錯誤。

分支限制

  • 分支需要權限資料表中所列的權限。
  • 必須有可用的容量才能執行此動作。
  • 所有工作區分支命名限制都會在分支至新的工作區時套用。
  • 分支時會建立新的工作區,並且不會複製原始工作區中的設定。 調整設定或定義以確保新的工作區符合您組織的原則。
  • 新的工作區中僅 Git 支援的項目可用。
  • 相關的分支清單僅顯示您有權檢視的分支和工作區。
  • 必須啟用 Git 整合

同步和認可限制

  • 一次只能在一個方向上同步。 無法同時認可和更新。
  • 不支援敏感度標籤,並且可能會停用匯出具有敏感度標籤的項目。 若要認可具有敏感度標籤且沒有該敏感度標籤的項目,請向管理員尋求協助。
  • 適用於受限制的項目。 資料夾中不受支援的項目會略過。
  • 不允許複製名稱。 即使 Power BI 允許重複名稱,更新、認可或復原動作也會失敗。
  • 不支援 B2B。
  • 衝突解決有一部分是在 Git 中完成。
  • 認可至 Git 程序運作期間,Fabric 服務會刪除不屬於項目定義之項目資料夾內的檔案。 不會刪除不在項目資料夾中的非相關檔案。
  • 認可變更之後,您可能會注意到項目有一些您未做出的非預期變更。 這些變更在語意上無關緊要,且可能存在多個原因。 例如:
    • 手動變更項目定義檔案。 這些變更有效,但可能不同於透過編輯器完成的變更。 例如,如果您在 Git 中重新命名語意模型資料行,並將這項變更匯入至工作區,您下次認可對語意模型的變更時,bim 檔案將會註冊為已變更,並且所修改的資料行會被推送至 columns 陣列背面。 這是因為產生 bim 檔案的 AS 引擎會將重新命名的資料行推送至陣列結尾。 這項變更不會影響項目的運作方式。
    • 認可使用 CRLF 換行符號的檔案。 此服務使用 LF (換行字元) 換行符號。 如果您的 Git 存放庫中具有使用 CRLF 換行符號的項目檔案,當您從此服務認可這些檔案時,其會變更為使用 LF 換行符號。 例如,如果您在桌面中開啟報表,請儲存項目檔 (.pbip),並使用 CRLF將其上傳至 Git。
  • 若使用增強式重新整理 API 重新整理語意模型,系統會在每次重新整理之後產生 Git 差異。