> ## 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/getting-started/administration/git-version-control.md)，实现配置追踪、审计追踪和环境管理。在使用之前必须安装 Git。有关说明，请参阅[前提条件](https://docs.kasoftware.com/26.4/self-hosted/zh/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/getting-started/administration/git-version-control.md#编辑远程-url)）。

还可以在**本地**和**远程**之间切换**配置类型**（详情请参阅[从本地仓库迁移到远程仓库](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/git-version-control.md#从本地仓库迁移到远程仓库)和[将远程仓库转换为本地仓库](https://docs.kasoftware.com/26.4/self-hosted/zh/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/flows/workspaces.md)可以拥有独立于全局仓库的 Git 仓库。要进行配置，请打开该工作区，然后点击省略号菜单中的**设置**。点击 **Git 版本控制**选项卡。有关工作区仓库与全局仓库的关系，请参阅[全局仓库与工作区仓库](https://docs.kasoftware.com/26.4/self-hosted/zh/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/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/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.