Git 整合的基本概念
本文章說明 Git 的基本概念和整合 Git 與 Microsoft Fabric 工作區的程序。
權限
- 若要使用 Git 整合,貴組織中的管理員必須將其啟用。
- 如果工作區和 Azure 存放庫位於兩個不同的區域,租用戶管理員必須啟用跨地區匯出。 此限制不適用於 GitHub。
- 您可以對工作區採取的動作取決於您在工作區和 Git 中擁有的權限,如下幾節所述。
熱門動作的必要 Git 權限
下列清單顯示了根據它們在 Git 存放庫中的權限,不同的工作區角色可以執行的動作:
- 管理員:可以在工作區上執行任何作業,僅受其 Git 角色所限制。
- 成員/參與者:連線到工作區后,成員/參與者可以根據其 Git 角色認可和更新變更。 如需與工作區連線相關的動作 (例如,連線、中斷連線或切換分支),請向管理員尋求協助。
- 檢視人員:無法執行任何動作。 檢視人員在工作區中看不到任何 Git 相關資訊。
熱門動作的必要 Fabric 權限
工作區角色
下表描述了在 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 status
連線之後,工作區會顯示 [Git 狀態] 資料行,指出工作區中每個項目相對於遠端分支中項目的同步狀態。
每個項目都有下列其中一個狀態:
- 已同步 (在工作區和 Git 分支中為同一個項目)
- 衝突 (該項目在工作區和 Git 分支中均已被更改)
- 不受支援的項目
- 工作區中未認可的變更
- 需要從 Git 更新
- 項目在這兩個位置都是相同的,但必須更新至上次認可
同步資訊
只要已連線,下列資訊就會出現在螢幕底部:
- 已連線的分支
- 上次同步時間
- 轉至工作區同步至的最後一次認可的連結
原始檔控制窗格
螢幕頂端為 [原始檔控制] 圖示。 其顯示工作區和 Git 分支中有差異的項目的數目。 對工作區或 Git 分支進行更改時,此數目也會更新。 當工作區變更已同步至 Git 分支時,原始檔控制圖示會顯示 0。
選取 [原始檔控制] 圖示以開啟 [原始檔控制] 面板。
原始檔控制窗格側邊有三個索引標籤:
認可和更新
對工作區或 Git 分支進行更改時,原始檔控制圖示會顯示有差異的項目的數目。 選取 [原始檔控制] 圖示以開啟 [原始檔控制] 面板。
[認可和更新] 面板有兩個區段。
[變更] 顯示工作區中已變更且需要認可至 Git 的項目數目。
[更新] 顯示在 Git 分支中已修改且必須更新至工作區的項目數目。
在每個區段中,已更改的項目會使用一個指出其狀態的圖示列出:
- 新增
- 已修改
- 已刪除
- 衝突
面板頂端的 [重新整理] 按鈕用以更新變更和更新清單。
認可
- 工作區中已更改的項目列在 [變更] 區段中。 有多個已更改的項目時,可以選取要認可至 Git 分支的項目。
- 如果對 Git 分支進行了更新,則會停用認可,直至更新了工作區為止。
更新
- 與 [認可] 和 [復原] 不同,[更新] 命令會更新整個分支,並同步至最新的認可。 無法選取特定項目進行更新。
- 如果在工作區和 Git 分支中的同一個項目做出了更改,則會停用更新,直至衝突解決為止。
分支
您可以使用 [原始檔控制] 面板的 [分支] 索引標籤管理分支並執行分支相關動作。 該索引標籤有兩個主要區段:
可以在最新分支上執行的動作:
- [分支至新的工作區] (任何角色):根據已連線至目前工作區之分支的最後一次認可,建立新的工作區和新分支。 其會連線到新的工作區和新分支。
- 簽出新分支 (必須是工作區管理員):根據工作區中上次同步認可建立新的分支,並變更目前工作區中的 Git 連線。 其不會更改工作區內容。
- 切換分支 (必須是工作區管理員):將工作區與另一個新的或現有的分支同步處理,並使用所選分支的內容覆寫工作區中的所有專案。
相關分支。
[分支] 索引標籤也有您可以選取並切換的相關工作區清單。 相關工作區與最新分支具有相同的連線屬性,例如相同的組織、專案、存放庫和 Git 資料夾。
因此您可以瀏覽至連線到與目前工作內容相關的其他分支的工作區,而不需要在 Fabric 工作區清單中尋找它們。
按一下清單中的項目可以開啟相關的工作區。
如需詳細資訊,請參閱<分支限制>。
帳戶詳細資料
[帳戶詳細資料] 索引標籤顯示使用者所連線的 GitHub 帳戶的詳細資料。 此索引標籤有兩個區段。 頂端區段顯示 Git 提供者和帳戶名稱。 底部區段顯示工作區所連線的存放庫和分支。 目前,此索引標籤僅適用於已連線至 GitHub 的工作區。
GitHub 帳戶詳細資料包括:
Git 帳戶詳細資料
- 提供者
- 帳戶名稱
Git 存放庫
分支
考量與限制
Git 整合一般限制
- Fabric 中的驗證方法必須至少與 Git 的驗證方法一樣嚴格。 例如,如果 Git 需要多重要素驗證,Fabric 也需要多重要素驗證。
- 目前不支援連線至 Analysis Services 的 Power BI 資料集。
- 已安裝範本應用程式的工作區無法連線到 Git。
- 不支援子模組。
- 主權雲端不支援。
GitHub Enterprise 限制
不支援某些 GitHub Enterprise 設定。 例如:
- IP 允許清單
- 私人網路
- 自訂網域
工作區限制
- 僅工作區管理員可以管理與 Git 存放庫的連線,例如連線、中斷連線或新增分支。
連線之後,具有權限的任何人都可以在工作區中工作。 - 工作區資料夾結構不會反映在 Git 存放庫中。 資料夾中的工作區項目會匯出至根目錄。
分支和資料夾限制
- 分支名稱長度上限為 244 個字元。
- 檔案名稱的完整路徑長度上限為 250 個字元。 名稱較長則會失敗。
- 檔案大小上限為 25 MB。
- 使用 Git 整合部署報表/資料集之後,您無法從服務中將它們下載為 .pbix。
- 如果項目的顯示名稱具有下列任何特性,Git 資料夾會重新命名為邏輯識別碼 (Guid) 並輸入:
- 字元數超過 256 個
- 以 結尾。 或空格
- 包含任何禁止字元,如 目錄名稱限制中所述,
目錄名稱限制
線上至 Git 存放庫的目錄名稱具有下列命名限制:
- 目錄名稱不能以空格或 Tab 開頭或結尾。
- 目錄名稱不能包含下列任何字元:「/:<>\*?|
項目資料夾(包含項目檔案的資料夾)不能包含下列任何字元:「:<>\*?|。 如果您將資料夾重新命名為包含其中一個字元,則 Git 無法連線或同步處理工作區,並會發生錯誤。
分支限制
- 分支需要權限資料表中所列的權限。
- 必須有可用的容量才能執行此動作。
- 所有工作區和分支命名限制都會在分支至新的工作區時套用。
- 分支時會建立新的工作區,並且不會複製原始工作區中的設定。 調整設定或定義以確保新的工作區符合您組織的原則。
- 新的工作區中僅 Git 支援的項目可用。
- 相關的分支清單僅顯示您有權檢視的分支和工作區。
- 必須啟用 Git 整合。
同步和認可限制
- 一次只能在一個方向上同步。 無法同時認可和更新。
- 不支援敏感度標籤,並且可能會停用匯出具有敏感度標籤的項目。 若要認可具有敏感度標籤且沒有該敏感度標籤的項目,請向管理員尋求協助。
- 適用於受限制的項目。 資料夾中不受支援的項目會略過。
- 不允許複製名稱。 即使 Power BI 允許重複名稱,更新、認可或復原動作也會失敗。
- 不支援 B2B。
- 衝突解決有一部分是在 Git 中完成。
- 在認可至 Git 程序運作期間,Fabric 服務會刪除不屬於項目定義之項目資料夾內的檔案。 不會刪除不在項目資料夾中的非相關檔案。
- 認可變更之後,您可能會注意到項目有一些您未做出的非預期變更。 這些變更在語意上無關緊要,且可能存在多個原因。 例如:
- 手動變更項目定義檔案。 這些變更有效,但可能不同於透過編輯器完成的變更。 例如,如果您在 Git 中重新命名語意模型資料行,並將這項變更匯入至工作區,您下次認可對語意模型的變更時,bim 檔案將會註冊為已變更,並且所修改的資料行會被推送至
columns
陣列背面。 這是因為產生 bim 檔案的 AS 引擎會將重新命名的資料行推送至陣列結尾。 這項變更不會影響項目的運作方式。 - 認可使用 CRLF 換行符號的檔案。 此服務使用 LF (換行字元) 換行符號。 如果您的 Git 存放庫中具有使用 CRLF 換行符號的項目檔案,當您從此服務認可這些檔案時,其會變更為使用 LF 換行符號。 例如,如果您在桌面中開啟報表,請儲存項目檔 (.pbip),並使用 CRLF將其上傳至 Git。
- 手動變更項目定義檔案。 這些變更有效,但可能不同於透過編輯器完成的變更。 例如,如果您在 Git 中重新命名語意模型資料行,並將這項變更匯入至工作區,您下次認可對語意模型的變更時,bim 檔案將會註冊為已變更,並且所修改的資料行會被推送至
- 若使用增強式重新整理 API 重新整理語意模型,系統會在每次重新整理之後產生 Git 差異。