🔀 YAML合并工具

免费在线YAML合并工具,支持多文件YAML深度合并、覆盖合并、数组策略选择,一键合并多个YAML配置。无需注册,数据绝不上传服务器。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

智能合并多个YAML文件,支持深度合并、覆盖合并、数组策略选择

零依赖 · 可离线使用

📝 YAML输入

❓ 常见问题

YAML合并和YAML拼接有什么区别?

拼接只是把两个YAML文件内容放在一起,而合并会智能处理相同键的冲突,支持深度递归合并嵌套对象、数组策略选择等。

支持多少个YAML文件同时合并?

支持2-3个YAML源同时合并,也可将多个YAML用---分隔后粘贴。实际使用中建议不超过20个以保证性能。

数组合并有哪些策略?

支持3种策略:覆盖(后者替换前者)、合并(去重合并)、追加(直接追加不去重)。

数据安全吗?

完全安全。所有处理在浏览器本地完成,数据绝不上传服务器,关闭页面即销毁。

合并冲突如何处理?

基础类型冲突按合并策略处理(深度合并保留后者),对象类型递归合并,数组类型按选择的策略处理。

支持拖拽文件吗?

支持。将YAML文件拖拽到输入框即可自动读取内容,支持.yaml和.yml文件。

导出的YAML格式化了吗?

是的。合并结果会自动格式化输出,缩进为2个空格,保持标准YAML格式。

YAML合并工具能做什么?

YAML合并工具是一款免费在线开发者工具,能够智能合并多个YAML文件或配置片段。支持深度递归合并嵌套对象、覆盖合并、浅合并三种策略,以及覆盖、去重合并、追加三种数组处理方式。适用于Kubernetes配置管理、Docker Compose多环境配置、CI/CD流水线配置合并等场景。所有处理在浏览器本地完成,数据绝不上传服务器。

核心功能

使用教程

1. 在YAML A和YAML B输入框中分别粘贴要合并的YAML内容,可选填YAML C。

2. 选择合并策略:深度合并适合配置继承,覆盖合并适合环境覆盖。

3. 选择数组策略:覆盖则替换数组,合并则去重合并,追加则直接追加。

4. 点击"合并"按钮或使用Ctrl+Enter快捷键,实时查看合并结果。

5. 点击"复制结果"或"下载"按钮导出合并后的YAML/JSON。

应用场景

场景1:Kubernetes多环境配置

开发者在管理K8s配置时,将基础配置(YAML A)与环境特定配置(YAML B)深度合并,生成最终部署配置,避免重复维护多个完整配置文件。

场景2:Docker Compose覆盖

运维人员使用覆盖合并,将docker-compose.yml与docker-compose.override.yml合并,本地开发环境自动加载覆盖配置。

场景3:CI/CD流水线配置

DevOps工程师将通用CI配置与项目特定配置合并,减少配置重复,统一管理构建流程。

扩展知识

YAML合并(merge)与拼接(concat)有本质区别。拼接只是将两个YAML文档放在一起,而合并会智能处理键冲突。YAML 1.1规范定义了merge key(<<)语法用于锚点合并,但实际使用中深度合并更灵活。深度合并遵循:对象递归合并、数组按策略处理、标量值后者覆盖前者的原则。在Kubernetes的Kustomize工具中,strategic merge patch就是基于类似的深度合并机制,但增加了字段级别的合并策略控制。

YAML合并工具 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com