知行之橋 會追蹤你的配置檔案(如
*.cfg、XML、JSON 和二進位檔案),但有兩個例外:庫及其內容,以及使用者和角色。為了避免對權杖、使用者名稱和密碼等敏感值進行版本控制,知行軟件 建議將 所有 敏感值儲存在庫中,並在需要這些敏感值的端口中引用庫項目。有關被追蹤檔案型別的完整清單,請參閱架構。當工作區擁有自己的倉庫時,該工作區的檔案由工作區倉庫追蹤,而不是由全域倉庫追蹤。若要將檔案排除在版本控制之外,請在 知行之橋 應用程式目錄根目錄下的 .gitignore 檔案中新增條目。每個要排除的檔案或模式單獨佔一行。常見的排除對象包括因部署環境而異的特定環境配置檔案,以及會增大倉庫體積的大型二進位檔案。請注意,被排除的檔案永遠不會被提交、推送、拉取或還原,因此必須在每個環境中單獨管理它們。安裝與配置
前提條件
在使用版本控制功能之前,必須在所有 知行之橋 環境(包括開發和生產環境)中安裝 Git。 如果使用遠端倉庫,還必須在配置版本控制前建立該倉庫。知行之橋 支援 GitHub、GitLab、Azure DevOps 和 Bitbucket 等主流平臺。使用本地倉庫則無需配置遠端端。安裝 Git
Windows
- 從 git-scm.com/download/win 下載 Git 安裝程式。
- 執行安裝程式,並按照安裝嚮導使用首選設定進行安裝。
-
開啟命令提示符或 PowerShell 並執行以下命令以驗證安裝:
Linux Debian/Ubuntu
執行以下命令:Linux Fedora/RHEL/CentOS
執行以下命令:配置版本控制
版本控制可以在兩個層級進行配置:整個應用程式層級(全域倉庫),以及可選的單個工作區層級。要瞭解兩者之間的關係,請參閱全域倉庫與工作區倉庫。配置全域倉庫
導航至設定 > 進階 > Git 版本控制配置版本控制。詳情請參閱 Git 版本控制設定。 點選配置後選擇配置型別:- 遠端:連線託管 Git 倉庫,支援跨環境推送、拉取和協作。
- 本地:在 知行之橋 伺服器上建立獨立倉庫,無需遠端 URL 或憑據。
配置工作區倉庫
要在獨立的倉庫中對單個工作區進行版本控制:- 開啟該工作區,然後點選省略號功能表中的設定。點選 Git 版本控制索引標籤。
- 開啟啟用 Git 版本控制切換開關。如果已設定全域倉庫,會顯示一條警告,說明為工作區啟用版本控制會將其從全域倉庫中移除,之後該工作區僅由你配置的倉庫追蹤。
-
配置倉庫。這些欄位與應用程式層級倉庫的欄位相同;詳情請參閱 Git 版本控制設定。
選擇配置類型:
- 遠端:連線託管 Git 倉庫。提供倉庫 URL 和身分驗證憑據。
- 本地:在 知行之橋 伺服器上建立獨立的 Git 倉庫,無需遠端 URL 或憑據。
- 點選儲存。
工作區倉庫需要遵循一些規則,例如對預設工作區的限制。詳情請參閱全域倉庫與工作區倉庫。可以在本地倉庫和遠端倉庫之間轉換工作區倉庫(請參閱從本地倉庫移轉到遠端倉庫和將遠端倉庫轉換為本地倉庫)。儲存配置後,仍可以變更遠端 URL(請參閱編輯遠端 URL)。
全域倉庫與工作區倉庫
知行之橋 支援兩種倉庫:- 全域:在設定 > 進階 > Git 版本控制下配置的應用程式層級倉庫。預設情況下,它追蹤整個執行個體的配置,包括所有工作區。
- 工作區:可選的倉庫,獨立於全域倉庫,對單個工作區進行版本控制。
- 如果已設定全域倉庫,啟用工作區倉庫會將該工作區移出全域倉庫。啟用後,該工作區僅由其配置的倉庫追蹤。
- 共享資源保留在全域倉庫中。工作區使用的連線、憑證和設定檔仍保留在全域倉庫中。因此,工作區倉庫並不是包含該工作區所需全部內容的獨立備份。
- 工作區倉庫獨立於全域倉庫。無論是否已設定全域倉庫,都可以啟用工作區倉庫。
- 預設工作區不能擁有自己的倉庫。其 Git 版本控制索引標籤會顯示訊息 預設工作區不支援使用獨立的 Git 倉庫。
一次一個倉庫
每個版本控制操作都只作用於一個倉庫:目前選擇的倉庫。提交、推送、拉取、分支、放棄、還原和狀態都只作用於所選倉庫,不會涉及其他倉庫。任何操作都不會跨多個倉庫。- 從倉庫清單中某一列啟動的操作始終作用於該列的倉庫,即使在操作執行期間作用中的工作區發生了變化。
- 每個倉庫的進度、錯誤和計數都單獨追蹤,因此一個倉庫中的失敗不會妨礙另一個倉庫中的工作。
開發環境
本節僅適用於遠端倉庫。本地倉庫沒有需要同步的遠端端,因此不需要單獨的開發環境。
- 多名使用者同時進行更改時產生合併衝突
- 競爭版本控制操作導致使用者體驗不佳
-
從生產環境匯出資料加密金鑰(有關金鑰使用的更多資訊,請參閱瞭解資料加密金鑰和主要金鑰)
- 在生產環境中,使用 API 金鑰呼叫 Admin API exportDataEncryptionKey 介面。使用
passphrase參數建立匯出密碼,該密碼將在向開發環境匯入金鑰時使用。 - 儲存回應內容,因為開發環境需要此資料加密金鑰。
- 在生產環境中,使用 API 金鑰呼叫 Admin API exportDataEncryptionKey 介面。使用
-
從生產環境匯出庫:
-
使用 UI 介面
- 導航至 設定 > 進階 > 移轉 > 匯出
- 選擇 自定義匯出 並建立一個 密碼,然後點選 下一步
- 在 系統設定 頁面,僅勾選 庫
- 點選 匯出 執行匯出並下載檔案
- 使用啟用了庫選項的 Admin API export 介面
-
使用 UI 介面
-
在開發環境中安裝 知行之橋(如果尚未安裝)
- 在開發機器上安裝 知行之橋
- 完成初始設定並建立第一個使用者帳戶
- 安裝開發許可
- 建立用於 API 存取的 API 金鑰
- 向開發環境匯入資料加密金鑰:在開發環境中,使用 API 金鑰呼叫 Admin API importDataEncryptionKey 介面,並使用與從生產環境匯出金鑰時相同的 passphrase。這確保了開發環境使用相同的資料加密金鑰,並可以解密庫內容。
-
向開發環境匯入庫
-
使用 UI 介面
- 導航至 設定 > 進階 > 移轉 > 匯入
- 上傳之前匯出的庫檔案
- 完成匯入過程
- 使用 Admin API import 介面上傳並匯入庫檔案。
-
使用 UI 介面
-
拉取遠端倉庫以同步開發環境與生產環境配置。如果生產環境中有工作區擁有自己的倉庫,也要配置並拉取這些倉庫。連線、憑證和設定檔等共享資源保留在全域倉庫中,因此還必須拉取全域倉庫。
-
使用 UI 介面
- 按照前提條件中的說明安裝 Git
- 導航至 設定 > 進階 > Git 版本控制
- 配置遠端倉庫連線(說明請參閱 Git 版本控制設定)
- 從遠端倉庫拉取最新更改
- 使用標準 Git 命令在本地機器上配置倉庫連線
-
使用 UI 介面
- 在本地進行並測試更改,而不影響生產環境
- 將更改提交到本地倉庫
- 將完成的工作推送到遠端倉庫
- 拉取其他團隊成員所做的更新
- 遵循標準 Git 工作流程(如分支和拉取請求)進行協作開發
版本控制操作
知行之橋 的 Git 整合提供了核心的版本控制操作,允許管理配置更改、與遠端倉庫同步以及維護多個開發分支。這些操作遵循標準的 Git 工作流程,同時專門針對 知行之橋 的配置管理需求進行了最佳化。 在環境中實施版本控制後,標準的 知行之橋 頁尾將變為狀態列,顯示 Git 指標和操作,例如本地檔案更改數量、遠端提交數量、所選倉庫以及當前分支。所有這些指標和操作都作用於所選倉庫(請參閱一次一個倉庫)。
權限
版本控制僅限管理員使用。只有具有管理員角色的使用者才能使用版本控制功能(包括檢視版本控制日誌),全域倉庫和工作區倉庫均是如此。對於其他所有使用者,介面中會隱藏版本控制選項。提交與推送
提交 (Commit) 將所選倉庫中的所有配置更改捕獲為一個原子單元,並儲存到該倉庫。提交時,知行之橋 會自動將您的 知行之橋 使用者名稱記錄為作者並新增時間戳,確保完整追溯更改人及更改時間。提交時必須填寫提交資訊以記錄更改目的。 推送 (Push) 將本地提交同步到遠端 Git 倉庫,使更改對其他團隊成員和備份系統可見。如果遠端分支包含尚未拉取的更新,推送操作將失敗並顯示錯誤資訊及後續操作建議。這可以防止覆蓋他人的工作並確保正確的合併處理。 遠端倉庫的提交和推送在一個動作中完成。詳情請參閱提交併推送新更改。本地倉庫沒有推送步驟,工具列顯示提交。拉取
拉取僅適用於遠端倉庫。本地倉庫沒有可供拉取的遠端端。
選擇倉庫
當初始化了多個倉庫時,工具列中會包含一個可搜尋的倉庫清單。使用該清單可以檢視每個倉庫的狀態,並選擇要使用的倉庫。
- Git 提供者和倉庫名稱
- 範圍:全域或工作區名稱
- 當前分支
- 本地更改數量
- 傳入提交數量
- 提交併推送(對於沒有遠端端的倉庫為提交):開啟本地更改飛出面板,並預先選取該倉庫。
- 拉取:拉取該倉庫的傳入提交。
- 選擇:將該倉庫設為所選倉庫。當前倉庫會顯示已選擇。
分支
分支管理允許為不同目的(如開發、測試和生產環境)維護獨立的配置版本。分支屬於單個倉庫,因此你看到的分支以及所做的分支更改僅作用於所選倉庫。使用工具列中的分支下拉功能表可以在分支之間切換、建立新分支或刪除過期分支。建立新分支時,請指定分支名稱並選擇要從中建立的源分支(預設使用當前分支)。這可以嘗試配置更改而不會影響主環境。詳情請參閱建立分支和刪除分支。日誌
所有版本控制更改都記錄在活動頁面的審計日誌部分。可以根據需要從該頁面下載日誌。
歷史檢視器
啟用版本控制後,活動 頁面上會出現 提交歷史 索引標籤。它一次顯示一個倉庫的提交歷史記錄,並提供提交雜湊、提交資訊、作者、日期和時間以及每次提交中更改的檔案清單等詳細資訊。可以在此頁面上搜尋和過濾內容。
- 使用 倉庫 篩選器選擇表格中顯示哪個倉庫的歷史記錄。該索引標籤顯示單個倉庫的歷史記錄,而不是所有倉庫的合併歷史記錄:表格中不包含倉庫資料行,也沒有同時顯示所有倉庫的選項。對某一列執行的操作(例如拉取和還原)作用於你正在檢視其歷史記錄的倉庫。如果未配置任何倉庫,該索引標籤會顯示 沒有可用的倉庫。
- 使用 所有時間 和 所有使用者 篩選器進一步縮小結果範圍。


版本控制工作流程範例
以下範例演示了在使用 知行之橋 的 Git 整合時常見的版本控制場景。這些工作流程涵蓋了基本操作:從遠端倉庫拉取更新、建立和刪除分支、提交併推送更改、恢復更改、在本地和遠端更改衝突時解決衝突,以及放棄不需要的修改。拉取更改
此工作流程僅適用於遠端倉庫。
- 點選工具列上的 拉取 (Pull) 直接拉取提交而不進行預覽
-
點選工具列上的提交數量開啟 拉取遠端提交 預覽

- 導航至 活動 頁面上的 提交歷史 索引標籤,點選左側的遠端提交數量連結或右側的 拉取 (Pull) 按鈕,以開啟 拉取遠端提交 預覽

建立分支
要建立新分支,請點選工具列上的分支圖示(也可以在此處切換分支)。

刪除分支
要刪除分支,請點選工具列上的分支圖示。將滑鼠懸停在要刪除的分支上,然後點選垃圾桶圖示。
提交併推送新更改
在 知行之橋 中進行更改時,工具列會顯示所選倉庫中已更改的檔案總數:


遠端倉庫的提交和推送是一個步驟,不會先在本地提交再單獨推送。本地倉庫沒有遠端端,因此只提供提交。
從先前版本恢復更改
要將資源恢復到先前的狀態,請導航至 活動 頁面上的 提交歷史 索引標籤,並使用 倉庫 篩選器選擇包含這些資源的倉庫。恢復僅作用於該倉庫。點選 檔案更改 列右側的省略號,然後點選 恢復。檢視當前狀態與建議恢復點狀態之間的差異,然後點選 下一步。請注意,如果繼續恢復,這些檔案中任何未提交的更改將永久丟失。點選 恢復資源 完成任務。管理提交與拉取衝突
本節僅適用於遠端倉庫。本地倉庫沒有會產生分歧的遠端分支,因此不會發生遠端提交衝突。

放棄更改
要放棄所選倉庫中的當前更改,請點選工具列中的垃圾桶圖示。這將開啟 放棄更改 面板,可以在其中準確選擇要放棄的更改。點選 下一步,確認選擇無誤,然後點選 放棄更改。完成後會出現確認訊息,工具列中的更改數量將相應減少。 也可以在 本地更改 飛出面板中放棄更改。選擇要放棄的資源,然後使用 提交… 按鈕上的下拉箭頭並選擇 放棄更改。檢查所選內容,然後點選 放棄更改。從本地倉庫移轉到遠端倉庫
如果已有本地倉庫,並希望在保留提交歷史的同時連線遠端伺服器,可以將其轉換為遠端倉庫。此操作適用於全域倉庫和工作區倉庫。- 建立遠端倉庫:在 GitHub、GitLab 或 Bitbucket 等平臺建立新的空倉庫。
- 開啟版本控制設定:對於全域倉庫,導航至設定 > 進階 > Git 版本控制。對於工作區倉庫,開啟該工作區,然後點選省略號功能表中的設定。點選 Git 版本控制索引標籤。
- 將配置類型從本地變更為遠端。
- 輸入遠端倉庫 URL 和身分驗證憑據。有關可用的認證方案,請參閱 Git 版本控制設定。
- 點選儲存。知行之橋 會將遠端端新增到倉庫並套用你的憑據。狀態顯示已連線後,點選提交併推送,將現有的本地提交傳送到遠端倉庫。
.git 目錄。
將遠端倉庫轉換為本地倉庫
要停止倉庫與其遠端端的同步並保留其歷史記錄,請開啟全域倉庫或工作區倉庫的版本控制設定,將配置類型從遠端變更為本地,然後點選儲存。知行之橋 會從倉庫中乾淨地移除遠端端。本地提交歷史和被追蹤的檔案都會保留,並且該倉庫將無法再使用拉取。編輯遠端 URL
版本控制初始化後,仍可以變更倉庫 URL。要變更已連線到遠端端的倉庫的遠端 URL:- 開啟該倉庫的版本控制設定。對於全域倉庫,導航至設定 > 進階 > Git 版本控制。對於工作區倉庫,開啟該工作區,然後點選省略號功能表中的設定。點選 Git 版本控制索引標籤。
- 編輯倉庫 URL,如有需要,同時編輯憑據。
- 點選儲存。