> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Git 版本控制設定

> 如何為知行之橋配置基於 Git 的版本控制，包括為每個工作區配置獨立倉庫。

可以在 知行之橋 中使用[基於 Git 的版本控制](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md)，實現配置追蹤、審計追蹤和環境管理。在使用之前必須安裝 Git。有關說明，請參閱[前提條件](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#前提條件)。

要完成全域（應用程式層級）倉庫的配置，請導航至**設定 > 進階 > Git 版本控制**，然後點選**配置**。要在獨立的倉庫中對單個工作區進行版本控制，請參閱[工作區 Git 版本控制設定](#工作區-git-版本控制設定)。

![Git 版本控制配置窗格](https://docs.kasoftware.com/26.4/images/settings_git_local.png)

選擇**配置類型**：

* **遠端**：連線到託管 Git 倉庫。
* **本地**：直接在 知行之橋 伺服器上建立獨立 Git 倉庫，無需遠端 URL 或憑據。

遠端倉庫請提供：

* 遠端 Git 倉庫 URL。使用 SSH 時必須提供 SSH 地址，例如 `git@github.com:username/private-repo.git`。支援 GitHub、GitLab、Bitbucket 和 Azure DevOps 等主流平臺。
* 認證方案。選擇認證方案後，會顯示配置所需的欄位。
  * HTTPS：倉庫的**使用者名稱**和**密碼**或**權杖**。
  * SSH：**SSH 私密金鑰**檔案和**密碼短語**。請參閱[使用 SSH 認證](#使用-ssh-認證)。
  * OAuth：點選**取得存取權杖**。

倉庫初始化後，仍可以編輯遠端 URL（請參閱[編輯遠端 URL](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#編輯遠端-url)）。

還可以在**本地**和**遠端**之間切換**配置類型**（詳情請參閱[從本地倉庫移轉到遠端倉庫](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#從本地倉庫移轉到遠端倉庫)和[將遠端倉庫轉換為本地倉庫](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#將遠端倉庫轉換為本地倉庫)）。儲存變更時，知行之橋 會新增、變更或移除 Git 遠端端，然後套用你的憑據。本地提交歷史和被追蹤的檔案都會保留。

點選**儲存**後，知行之橋 會執行初始化任務：在 `AppDirectory` 內建立 Git 倉庫，建立包含初始化前配置的 `settings-before-git-init-<initialization_date>` 分支，並暫存配置檔案。這可避免遠端倉庫已有衝突內容時丟失本地配置。

頁尾會變為顯示本地修改數、當前分支以及遠端提交數（僅遠端倉庫）的狀態列。遠端倉庫點選**提交併推送**完成初始提交；本地倉庫點選**提交**。

![Git 版本控制頁尾工具列](https://mintcdn.com/qiao/cAp6sdkg0SyWJqZM/26.4/images/version_control_footer_toolbar.png?fit=max\&auto=format\&n=cAp6sdkg0SyWJqZM\&q=85\&s=47e83835bd588a5c5439bde47a37f0bb)

## 工作區 Git 版本控制設定

[工作區](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/flows/workspaces.md)可以擁有獨立於全域倉庫的 Git 倉庫。要進行配置，請開啟該工作區，然後點選省略號功能表中的**設定**。點選 **Git 版本控制**索引標籤。有關工作區倉庫與全域倉庫的關係，請參閱[全域倉庫與工作區倉庫](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#全域倉庫與工作區倉庫)。

配置以下內容：

* **啟用 Git 版本控制**：為此工作區啟用獨立的 Git 倉庫。如果已設定全域倉庫，會顯示一條警告，說明為工作區啟用版本控制會將其從全域倉庫中移除，之後該工作區僅由你配置的倉庫追蹤。工作區使用的連線、憑證和設定檔等共享資源仍保留在全域倉庫中。

- **配置類型**：選擇**遠端**以連線託管 Git 倉庫，或選擇**本地**以使用 知行之橋 伺服器上的 Git 倉庫，無需連線外部服務。

* **倉庫 URL 和身分驗證**：提供與全域倉庫表單相同的倉庫 URL、認證方案和憑據（HTTPS、SSH 或 OAuth）。請參閱上方設定以及[使用 SSH 認證](#使用-ssh-認證)。

![已啟用版本控制的工作區設定 Git 版本控制索引標籤](https://docs.kasoftware.com/26.4/images/version_control_workspace_settings_enabled.png)

點選**儲存**以套用設定。

> [!NOTE]
>
> 工作區倉庫需要遵循一些規則，例如對**預設**工作區的限制。詳情請參閱[全域倉庫與工作區倉庫](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#全域倉庫與工作區倉庫)。
>
> 可以在**本地**和**遠端**之間切換**配置類型**。
>
> 與全域倉庫一樣，初始化後仍可以編輯遠端 URL。

## 使用 SSH 認證

* 執行 `ls -al ~/.ssh` 檢查現有 SSH 金鑰。
* 如需新金鑰，執行 `ssh-keygen -t ed25519 -C "your_email@example.com"`。
* 可為金鑰新增密碼短語。
* 在 **SSH 私密金鑰**欄位上傳私密金鑰。
* 將公開金鑰新增到 Git 平臺。

## 刪除 Git 配置

要刪除全域 Git 版本控制配置，請點選設定面板上的垃圾桶圖示，然後選擇**Git 倉庫選項**：

* **保留底層倉庫**：知行之橋 斷開倉庫連線，但磁碟上的 `.git` 資料夾保持不變，仍可使用伺服器上的 Git 工具直接操作。
* **刪除底層倉庫**：刪除 `.git` 資料夾，完全停用該安裝的版本控制。所有暫存但未提交的更改都會永久丟失。

使用本地倉庫時，選擇保留底層倉庫可以儲存提交歷史，之後可重新連線。也可以在介面中直接[將該倉庫轉換為遠端倉庫](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/getting-started/administration/git-version-control.md#從本地倉庫移轉到遠端倉庫)，而無需刪除它。

刪除配置後，可點選**配置**重新設定版本控制。

要刪除工作區 Git 倉庫，請關閉**啟用 Git 版本控制**切換開關，然後點選**儲存**。系統會提供與全域倉庫相同的**Git 倉庫選項**，但對於工作區，結果有所不同：

* **保留底層倉庫**：知行之橋 斷開工作區與其倉庫的連線，但 `.git` 資料夾保持不變。未提交的更改仍保留在該倉庫中。即使存在全域倉庫，該工作區也不會由全域倉庫追蹤。
* **刪除底層倉庫**：刪除該工作區的 `.git` 資料夾。如果存在全域倉庫，工作區中未提交的更改會自動新增到全域倉庫，全域倉庫將重新追蹤該工作區。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.