合并与冲突处理
合并与冲突处理
M-Doc 支持跨版本的文章合并,允许将一个版本中的文章更新合并到另一个版本。
合并概念
当你 Fork 了一个版本(如从 v1.0.0 创建 v2.0.0),两个版本中的文章可以独立编辑。合并操作可以将源版本中的文章更新同步到目标版本。
v1.0.0(修复了文章 A)
│
└──merge──> v2.0.0(文章 A 获得修复)合并文章
- 进入目标版本
- 选择要合并的文章
- 点击「合并」
- 选择源版本
- 确认合并
合并规则
合并操作基于文章的 stable_key(UUID)匹配同一篇文章在不同版本中的状态,然后将源版本的最新内容应用到目标版本。
冲突检测
当源版本和目标版本都修改了同一篇文章时,系统会检测到合并冲突。
检查冲突
在合并之前,可以先检查是否存在冲突:
GET /api/versions/:id/articles/:articleId/merge-conflict系统会返回冲突信息,包括双方修改的内容。
处理冲突
强制合并
如果确定要用源版本的内容覆盖目标版本:
- 查看冲突详情
- 点击「强制合并」
- 确认覆盖
强制合并会用源版本的内容完全替换目标版本的内容。
手动解决
对于复杂冲突,建议:
- 分别查看两个版本的文章内容
- 在目标版本中手动编辑,整合双方的修改
- 发布更新后的内容
最佳实践
- 频繁合并:避免长时间不合并导致大量冲突
- 先检查再合并:合并前先检查冲突
- 单向合并:建议从修复分支向主分支合并,而不是双向合并
- 合并后验证:合并完成后检查内容是否正确