知行之桥 会追踪你的配置文件(如
*.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,如有需要,同时编辑凭据。
- 点击保存。