避免版本分叉的关键不在“禁止两个人同时改”,而在先判断这份资料是单点定稿型还是并行汇总型:前者只允许一个编辑持有写入权,其他人以提意见方式参与;后者必须把资料拆成独立片段,各人只写自己负责的片段,再由一个人合并。判断依据是资料是否需要在同一处连续表达同一套口径。若需要,走单点定稿;若只是分栏、分产品、分地区各写各的,走并行汇总。选错方向,后面加再多审批也挡不住两套说法同时存在。
网站设计流程里,资料通常指页面文案、产品参数、帮助中心条目、活动规则这类会直接上线的内容。单人维护时,版本分叉几乎不会发生,因为任何一次修改都覆盖上一版。一旦把后台账号或共享文档权限发给多个编辑,变化就出现了:两个人各自基于自己看到的旧版本修改,保存后互相覆盖,或者合并出一份前后矛盾的稿子。
这时要先确认一件事:这份资料上线后,读者看到的是一个连续整体,还是若干可独立成立的块。产品对比表里每个产品的参数行可以独立成立,属于块;退换货政策必须前后口径一致,属于连续整体。这个判断决定了后面所有动作。
当资料是连续整体,正确做法不是让多人“小心一点”,而是从权限上只保留一个写入者。其他编辑的参与方式是提交修改建议,由写入者决定是否采纳并落笔。
具体动作可以这样落地:
这样做的影响是:版本号只会在写入者手里递增,其他人手里的副本永远只是参考,不会变成第二份“正式版”。代价是写入者会成为瓶颈。如果建议量长期超过一个人能处理的量,说明这份资料该拆了,而不是继续加写入者。
当资料由若干独立块组成,可以让多个编辑并行写,但必须先把边界划死,再约定合并规则。
可区分的证据是:两块内容互换位置后,读者理解不受影响,说明它们彼此独立;如果换位后逻辑断裂,说明它们其实是一份连续内容,应回到条件一。
拆分后建议采用这样的结构:
product-a-spec、region-b-faq,编辑只改自己标识下的内容。合并后的检查重点是术语和数字是否一致。假设甲编辑写“处理时间为三个工作日”,乙编辑在另一块写“三个工作日内完成”,这两句在读者看来可能被理解成不同承诺。合并者要统一成同一种表述。这是假设示例,用来说明合并检查该看什么,而不是某类业务的固定规则。
很多分叉不是因为权限没设好,而是因为所有人都在找“最新版”。一旦文件名里出现“最新”“最终”“修改版”,就必然出现多个自认为最新的副本。
更稳的做法是让版本可追溯:每次发布记录一个递增编号和一句变更摘要,编辑提建议时引用具体编号,而不是说“在你上次发的那版里”。这样当两个人意见冲突时,能快速判断他们各自基于哪一版,冲突是内容分歧还是版本错位。动作上,这要求发布者每次只发布一个编号,并让旧编号明确标记为已废弃,而不是继续留在共享目录里等人误用。
有两种情况需要另作处理。一是短期集中改版,多人需要同时动同一段文字,此时更实际的做法是约定时间段轮流编辑,而不是并发编辑后再人工比对。二是外部供稿方,通常不应给后台写入权限,而是让其提交独立文件,由内部编辑按条件一的流程并入。把例外当成常态,权限体系会迅速失效;把常态当例外,编辑会绕开流程私下传文件,分叉照旧发生。
回到最初的分岔:先判断资料是连续整体还是可拆块,再决定是单点写入还是分片合并。这个判断做对了,版本分叉会从“靠自觉避免”变成“结构上不容易发生”。