Git 版本控制

Version 26.1.9526


Git 版本控制


知行之桥为大部分应用程序配置提供基于 Git 的版本控制,为您的数据集成平台带来企业级的变更管理。此功能使团队能够通过完整的审计追踪来记录配置变更,维护独立的测试和生产环境,并通过回滚到已知的良好状态来快速从问题中恢复。

通过 Git 集成,团队成员可以协作管理知行之桥配置,并拥有准确的归属信息和变更历史,在满足合规性要求的同时降低配置错误的风险。组织可以对其知行之桥配置应用与应用程序代码同样严格的版本控制实践。

除非手动将文件添加到 .gitignore 文件中,否则所有知行之桥文件(如 *.cfg、XML、JSON 和二进制文件)都会被追踪。有关被追踪文件类型的更多详细信息,请参阅架构

注意及其内容,以及用户和角色不在版本控制范围内。为了避免对令牌、用户名和密码等敏感值进行版本控制,我们建议将所有敏感值存储在库中,并在需要这些敏感值的端口中引用库项目。

安装与配置

前提条件

在使用版本控制功能之前,必须在所有知行之桥环境(包括开发和生产环境)中安装 Git 和 Git 凭据管理器 (GCM)。

还必须创建远程仓库。知行之桥支持所有主流 Git 平台,包括 GitHub、GitLab、Azure Devops 和 Bitbucket。

安装 Git

Windows

  1. git-scm.com/download/win 下载 Git 安装程序。
  2. 运行安装程序,并按照安装向导使用首选设置进行安装。
  3. 打开命令提示符或 PowerShell 并运行以下命令以验证安装:

    git --version

您应该能看到显示的已安装 Git 版本。

Linux Debian/Ubuntu

运行以下命令:

sudo apt-get update
sudo apt-get install git

Linux Fedora/RHEL/CentOS

运行以下命令:

sudo dnf install git

运行以下命令以验证安装:

git --version

安装并验证 Git 后,即可开始使用知行之桥的版本控制功能。

安装 Git 凭据管理器

系统中必须安装 Git 凭据管理器 (GCM),以安全地管理版本控制的身份验证。

Windows

  1. github.com/git-ecosystem/git-credential-manager/releases 下载最新的 gcm-win-x86-[版本号].exe 文件。
  2. 运行安装程序,并按照安装向导使用首选设置进行安装。
  3. 打开命令提示符或 PowerShell 并运行以下命令以验证安装:

    git credential-manager --version

您应该能看到显示的已安装 GCM 版本。

Linux Debian/Ubuntu

  1. github.com/git-ecosystem/git-credential-manager/releases 下载最新的 .deb 软件包。
  2. 安装软件包:

    sudo dpkg -i gcm-linux_amd64.[version].deb
    

Linux Fedora/RHEL/CentOS

  1. github.com/git-ecosystem/git-credential-manager/releases 下载最新的 .rpm 软件包。
  2. 安装软件包:

    sudo rpm -i gcm-linux_amd64.[version].rpm
    

运行以下命令以验证安装:

git credential-manager --version

GCM 安装并验证完成后,即可安全地处理知行之桥中版本控制操作的身份验证。

创建仓库并配置版本控制

创建远程仓库超出了本文档的范围,但知行之桥支持所有主流 Git 平台,包括 GitHub、GitLab、Azure DevOps 和 Bitbucket。请查阅仓库文档以获取说明及任何特殊的外部连接要求。例如,在 GitHub 使用 HTTPS 身份验证时,需要使用个人访问令牌 (PAT) 而非密码进行身份验证。

远程仓库创建完成后,请在 设置 > 高级 > Git 版本控制 中配置版本控制。详情请参阅 Git 版本控制

开发环境

在共享的生产环境中使用知行之桥版本控制时,我们建议为每位团队成员设置独立的开发环境。这能提供最佳的用户体验,并避免多名用户在共享环境中同时推送或拉取更改时可能发生的冲突。

直接在带有版本控制的共享生产环境中工作可能会导致:

  • 多名用户同时进行更改时产生合并冲突
  • 竞争版本控制操作导致用户体验不佳

通过使用开发环境,每位团队成员可以独立工作,在本地测试更改,并将完成的工作推送到仓库,而不会干扰他人或中断生产运行。

请按照以下步骤配置与生产环境知行之桥实例镜像一致的本地开发环境:

  1. 从生产环境导出加密密钥

    1. 在生产环境中,使用 API 密钥调用 Admin API exportDataEncryptionKey 接口。使用 passphrase 参数创建导出密码,该密码将在向开发环境导入密钥时使用。
    2. 保存响应内容,因为开发环境需要此加密密钥。
  2. 从生产环境导出 Vault:

    1. 使用 UI 界面

      1. 导航至 设置 > 高级 > 迁移 > 导出
      2. 选择 自定义导出 并创建一个 密码,然后点击 下一步
      3. 设置 页面,仅勾选 Vault
      4. 点击 导出 执行导出并下载文件
    2. 使用启用了 Vault 选项的 Admin API export 接口

  3. 在开发环境中安装知行之桥(如果尚未安装)

    1. 在开发机器上安装知行之桥
    2. 完成初始设置并创建第一个 用户账户
    3. 安装开发许可
    4. 创建用于 API 访问的 API 密钥
  4. 向开发环境导入加密密钥:在开发环境中,使用 API 密钥调用 Admin API importDataEncryptionKey 接口,并使用与从生产环境导出密钥时相同的 passphrase。这确保了开发环境可以解密 Vault 内容。

  5. 向开发环境导入 Vault

    1. 使用 UI 界面
      1. 导航至 设置 > 高级 > 迁移 > 导入
      2. 上传之前导出的 Vault 文件
      3. 完成导入过程
    2. 使用 Admin API import 接口上传并导入 Vault 文件。
  6. 拉取 远程仓库以同步开发环境与生产环境配置

    1. 使用 UI 界面
      1. 按照 先决条件 中的说明安装 Git 和 GCM
      2. 导航至 设置 > 高级 > Git 版本控制
      3. 配置远程仓库连接(说明请参阅 Git 版本控制设置
      4. 从远程仓库拉取最新更改
    2. 使用标准 Git 命令在本地机器上配置仓库连接

开发环境配置完成后,可以:

  • 在本地进行并测试更改,而不影响生产环境
  • 将更改提交到本地仓库
  • 将完成的工作推送到远程仓库
  • 拉取其他团队成员所做的更新
  • 遵循标准 Git 工作流(如分支和拉取请求)进行协作开发

生产环境现在可以按照受控的计划从远程仓库拉取已批准的更改。

版本控制操作

知行之桥的 Git 集成提供了核心的版本控制操作,允许管理配置更改、与远程仓库同步以及维护多个开发分支。这些操作遵循标准的 Git 工作流,同时专门针对知行之桥的配置管理需求进行了优化。

在环境中实施版本控制后,标准的知行之桥页脚将变为状态栏,显示 Git 指标和操作,例如本地文件更改数量、远程提交数量以及当前分支。

权限

版本控制功能对所有用户可见,而不仅仅是管理员。基于角色的访问控制 权限决定了可以执行哪些 Git 操作。

  • 只读用户:仅能查看状态和历史记录
  • 写入用户:可以执行提交、推送、拉取和创建分支操作

提交与推送

提交 (Commit) 将知行之桥中的所有配置更改捕获为一个原子单元,并保存到本地 Git 仓库。提交时,知行之桥会自动将知行之桥用户名记录为作者并添加时间戳,确保完整追溯更改人及更改时间。提交时必须填写提交信息以记录更改目的,且必须拥有写入权限。

推送 (Push) 将本地提交同步到远程 Git 仓库,使更改对其他团队成员和备份系统可见。如果远程分支包含尚未拉取的更新,推送操作将失败并显示错误信息及后续操作建议。这可以防止覆盖他人的工作并确保正确的合并处理。

提交和推送操作是在一个动作中完成的。详情请参阅 提交并推送新更改

拉取

拉取 (Pull) 从远程 Git 仓库获取最新更改并更新本地知行之桥配置。在拉取之前,必须提交或放弃任何未提交的本地更改——如果检测到未提交的更改,操作将失败。如果本地版本与远程版本之间存在合并冲突,拉取将失败,并提示使用 Git 工具在外部解决冲突(详情请参阅 管理提交与拉取冲突)。可以从 Git 工具栏启动拉取操作。详情请参阅 拉取更改

分支

分支管理允许为不同目的(如开发、测试和生产环境)维护独立的配置版本。使用工具栏中的分支下拉菜单可以在现有分支之间切换或创建新分支。创建新分支时,请指定分支名称并选择源分支(默认使用当前分支)。这可以尝试配置更改而不会影响主环境。详情请参阅 创建分支

历史查看器

启用版本控制后,活动 页面上会出现 提交历史 页面。它显示完整的提交历史记录,并提供提交哈希、提交信息、作者、日期和时间以及每次提交中更改的文件列表等详细信息。可以在此页面上搜索和过滤内容。

点击 提交 (Commit) 哈希可打开 提交详情 页面。该页面默认打开 文件更改 页面,显示提交中文件的差异视图,以便准确查看更改内容。点击 详情 页面可查看作者、提交信息和时间戳。

文件更改 页面上的 转到资源 链接将带至知行之桥中发生文件更改的部分。例如,如果正在查看 AS2 端口的 port.cfg 文件差异,点击该链接将跳转到该 AS2 端口。

版本控制工作流示例

以下示例演示了在使用知行之桥的 Git 集成时常见的版本控制场景。这些工作流涵盖了基本操作:从远程仓库拉取更新、创建分支、提交并推送更改、在本地和远程更改冲突时解决冲突,以及放弃不需要的修改。

拉取更改

可以通过两种方式从远程拉取更改:

  • 点击工具栏上的 拉取 (Pull) 直接拉取提交而不进行预览
  • 点击工具栏上的提交数量打开 拉取远程提交 预览

拉取远程提交 预览列出了所有待拉取的提交。点击某个提交可查看其详情,将鼠标悬停在文件数量上可查看该提交中包含哪些文件。点击 拉取提交 (Pull Commits) 完成任务。

创建分支

要创建新分支,请点击工具栏上的分支图标(也可以在此处切换分支)。

点击 添加分支 并输入分支 名称。选择要从中复制的分支,然后点击 添加

提交并推送新更改

在知行之桥中进行更改时,工具栏会显示已更改的文件总数:

点击 提交并推送 (Commit & Push) 打开 本地文件更改 面板。它显示有关已更改文件的详细信息。在将更改提交并推送到远程之前,必须提供提交信息。

注意:与其他一些基于 Git 的版本控制实现不同,提交和推送是一个单一步骤——不会先提交到本地然后再推送。

提交并推送更改后,工具栏中的确认消息会告知操作结果。

管理提交与拉取冲突

当有本地更改需要推送,同时也有远程更改需要拉取时,可能会产生冲突。工具栏会反映冲突情况并提供操作建议。同样的错误消息也会出现在 提交拉取远程提交 预览页面上。

一种选择是手动管理冲突,另一种选择是将当前更改提交到不同的分支,从而允许将远程更改拉取到当前分支。

点击 请提交到新分支 打开页面,在此可以选择要提交到的不同分支。选择(或创建)新分支后,可以使用 提交并推送更改 推送更改。

放弃更改

要放弃当前更改,请点击工具栏中的垃圾桶图标。这将打开 放弃更改 面板,可以在其中准确选择要放弃的更改。点击 下一步,确认选择无误,然后点击 放弃更改。完成后会出现确认消息,工具栏中的更改数量将相应减少。