使用版本控制管理專案
您可以使用版本控制以管理資料專案的開發並追蹤變更。
使用版本控制時,您可以在設計期間認可專案的版本。這允許您恢復變更,並查看專案的兩個版本之間的變更。
您也可以使用分支策略開發資料專案。這讓您可以在每個工作區域或分支中處理專案的隔離版本。工作區域可由多個使用者共用。然後,您可以將工作區域中的變更合併到主要分支,以部署到生產。
GitHub 作為版本控制的提供者來使用。
開始使用
-
在 GitHub 中建立一個使用者,租用戶可以用來存取 GitHub。這可能已由管理員為您建立。
使用者必須具有以下範圍:
-
repo
-
read:org
-
read:user
-
read:project
-
-
您對計畫變更的存放庫需要有寫入權限。
-
您必須建立 GitHub 個人存取 Token (經典)。不支援精細粒度的個人存取 Token。
如需更多資訊,請參閱 GitHub 文件:管理您的個人存取 Token。
-
組織在 GitHub 設定中是強制性質。
-
您在專案所在的空間中需要「可以編輯」角色,才能執行版本控制動作。
-
在開始使用版本控制之前,您必須進行設定,以使用您建立的 GitHub 使用者連線至 GitHub。
-
設定與 GitHub 的連線後,您可以將專案連線至存放庫。
進行 GitHub 的設定
所有想要使用版本控制的使用者都必須進行設定,以使用 GitHub 使用者帳戶連線至 GitHub。
您可以在專案中設定 GitHub。確保您已根據 開始使用 進行準備。
-
按一下 ,然後按一下 GitHub 設定。
-
使用您的組織和 開始使用 中所述的 GitHub 個人存取 Token 設定驗證。
-
按一下確定。
現在您可以將專案連線至存放庫。
將專案連線至存放庫
您必須先連線專案與存放庫,才能開始使用版本控制。確保您已設定與 GitHub 的連線。
-
在專案中,按一下專案上的 ...,並選取連線至版本控制。
-
選取與專案關聯的存放庫。
-
新增基本目錄路徑。
若您想要在 GitHub 中連線至現有專案,您必須使用相同的路徑。
-
連線後,您可以選取認可專案並將專案推送到遠端存放庫。輸入認可訊息。
若您沒有認可和推送,將會在工作區域中建立主要分支,但不會在遠端存放庫中建立。
-
按一下連線。
該專案現已連線至所選的存放庫。這在專案卡片的底部以 、存放庫的名稱和目前分支來指示。
當您開啟專案時,標題列現在將包含具有版本控制選項的 GitHub 功能表。專案名稱也會附加目前分支的名稱。
使用版本控制開發專案
您可以透過不同的方法使用版本控制:
-
直接處理主要分支。這主要適合專案中想要追蹤變更的單一開發人員,但也可以由同步工作的開發人員群組使用。
-
使用分支策略,多個開發人員可以做出貢獻。您也可以建立分支,以相互隔離新功能或變更。
簡化單一開發人員專案的工作流程
您可以直接處理專案的主要分支。這種方法更簡單,並且包含更少的操作,但仍然可以讓您追蹤變更。如果有多個開發人員,他們需要小心保持同步。
若您對要套用的專案進行變更,只需要進行認可並推送即可。
多個開發人員專案的工作流程
如果有多個開發人員在處理一個專案,或者您想要隔離變更,則可以使用此工作流程。這涉及建立一個可以與其他使用者共用的開發分支。透過此工作流程,開發人員可以追蹤彼此的變更,並決定何時將變更合併到主要分支。
-
建立新的分支
從主要分支建立一個新的開發分支。您可以與更多使用者共用分支。
-
開發
在專案中進行所有必需的變更。
資訊備註版本控制中不會維護資料庫結構描述和連線。 -
套用遠端變更
將來自另一個分支的遠端變更套用至您的工作區域,以確保您了解其他分支的最新變更。這有助於避免或減輕衝突的變更。
如果您有兩個包含可能發生衝突之變更的分支,解決方法是:
-
對兩個工作區域認可變更。
-
將兩個分支合併到主要分支。
-
重新套用遠端變更。
-
-
認可並推送
認可您的變更並將其推送到開發分支。將會推送所有物件,因此最好在認可之前驗證您的專案。
-
開啟提取請求並合併
準備好開發時,您就可以將變更從工作區域合併到主要分支。必須開啟提取請求,以在 GitHub 中將開發分支合併到主要分支。您可以設定核准分支合併到主要分支。如需更多資訊,請參閱 GitHub 提取請求文件
建立新的分支
-
在專案中,按一下專案上的 ... 並選取建立新分支。
專案必須連線至版本控制。
-
選取從主要分支建立分支。
-
輸入分支的名稱。
-
在所有結構描述的分支前置詞中設定要新增至專案中所有結構描述的前置詞。這允許對所有結構描述進行唯一命名,以避免命名衝突。
-
按一下建立
從主要分支建立一個新分支,並從存放庫確認。此分支包含專案的新版本,其中所有任務均處於「新」狀態。也就是說,這沒有準備好,並且不包含任何資料。
套用遠端變更
您可以將遠端存放庫中的變更套用到您的工作區域。這可能是在 Qlik Cloud 整合版本控制之外建立的變更,例如在 GitHub 中或透過其他工具。若您想要認可變更並將變更推送到分支,這可以協助您避免衝突。
-
在專案中,按一下專案上的 ... 並選取套用遠端變更。
如果發現變更,則會顯示將遠端變更套用至工作區域對話方塊。
-
現在您可以選取要套用變更的任務並檢查變更。對於每次變更,您可以選取要使用哪個版本:遠端版本或工作區域中的版本。
-
按一下套用遠端變更
如果變更包括新的資料任務,則必須新增來源連線和目標連線。
認可並推送
您可以認可您的變更並將其推送到分支。由於可能會覆寫未套用於工作區域的遠端變更,因此您應該在認可和推送之前執行套用遠端變更。
-
在專案中,按一下專案上的 ... 並選取認可並推送。
如果發現變更,則會顯示認可並推送對話方塊。
-
新增可協助您追蹤變更內容的認可訊息。
-
按一下認可並推送
刪除分支
將變更合併到主要分支後,您可以刪除分支。
-
在專案中,按一下要刪除的分支上的 ...,然後選取刪除分支。
您也可以選取在版本控制中刪除遠端分支。
如果有未認可的變更,您在刪除分支時需要確認這些變更將會遺失。
移除專案的版本控制
您可以從版本控制中斷專案連線。如果存在現有分支,則必須先刪除,才能中斷專案連線。
-
在專案中,在要中斷連線的專案上按一下 ...,然後選取從 GitHub 中斷連線。
與其他空間或租用戶共用專案
您可以與相同租用戶的不同空間或另一個租用戶共用專案版本。若您想要建立兩個環境 (例如一個用於開發,一個用於生產),這非常實用。
-
建立與原始專案名稱相同的新專案。
設定相同的使用情況和平台類型。您可以使用不同的連線。
-
將新專案連線至與原始專案相同的存放庫和基本目錄路徑。
資訊備註請勿選取認可並推送選項。 -
如果平台連線指向與原始專案相同的目標,請確保變更資料任務的資料庫或結構描述。變更所有任務的結構描述的一種方式是,在套用遠端變更之前,變更中繼資料專案設定中的所有結構描述的前置詞。這可確保所有任務都是使用此前置詞來建立。
-
套用遠端變更,選取所有檔案。
-
為所有登陸任務新增缺漏的來源連線。
按一下登陸任務中的選取來源資料,選取連線,然後按一下儲存。
資訊備註連線必須來自相同類型的來源,並指向與原始專案名稱相同的表格。 -
為所有複寫任務新增缺漏的來源和目標連線。
這會建立另一個工作區域。您可以在其中一個工作區域對專案進行變更,並使用套用遠端變更同步其他工作區域。
安全性考量
確保在 Qlik Talend Data Integration 和 GitHub 之間保持同步的安全性設定。
-
在 Qlik Talend Data Integration 中,權限是基於可能包含多個專案的空間。在 GitHub 中,權限是基於也可能包含多個專案的存放庫。最佳做法是對齊這些內容,並將某個空間中的所有專案連線至相同的存放庫。
-
請記住,Qlik Talend Data Integration 和 GitHub 對使用者使用不同的權限和角色。
最佳做法
以下是使用版本控制處理專案時的一些最佳做法。
-
新增描述 GitHub 中存放庫的讀我檔案。如需詳細資訊,請參閱關於讀我檔案。
-
僅認可有效且經過測試可執行的專案。
如果您新增具有尚未準備或轉換的「登陸」或「已註冊」資料任務的專案,則尚未包含來源欄。準備和轉換任務時會新增來源欄。
-
當您為複寫專案建立分支時,您應該注意分支預設會使用相同的目標。這表示,分支中執行的任務可以覆寫主要版本的資料。為了避免資料遺失,請變更分支中的目標設定,以避免與主要版本衝突。
-
建立分支時,可能有尚未套用至工作區域的遠端變更。請在建立分支之前或之後套用遠端變更,除非您想捨棄遠端變更。
限制
-
如果存在分支,則無法使用版本控制斷開或刪除專案。必須先刪除分支,才能斷開或刪除專案。
-
無法使用版本控制重新命名專案。
-
刪除租用戶時,不會刪除 GitHub 中使用版本控制儲存的物件。您需要手動刪除這些物件。
-
如果存放庫由許多專案使用,或包含許多未儲存在 Qlik Talend Data Integration 中的檔案,則效能可能會下降。
-
版本控制中不會維護資料庫結構描述和連線。
-
不支援 GitHub 精細粒度的個人存取 Token。
-
即使兩個專案位於相同的存放庫,每個存放庫仍只能由一個專案使用一個分支 (主要分支除外)。
-
無法從使用不同目標平台的專案套用遠端變更。例如,如果您向 Snowflake 上的專案認可變更,則無法將變更套用到 Databricks 專案。