避免版本分叉的关键不是禁止多人编辑,而是给“同一份资料”指定唯一的主副本,并让其他编辑只通过提交修改请求的方式参与。如果做不到这一点,退而求其次的做法是缩短并行编辑窗口,并在每次合并后立刻做一次可回退的发布。两种做法都成立,区别在于资料更新频率和编辑人数。
在张家界做网站,景区介绍、线路说明、酒店配套这类资料往往由多人维护。一个常见现象是:团队上了共享编辑,冲突反而变多。同一段“门票说明”在三个页面出现不同版本,或者同一条线路的集合时间在两个栏目里不一致。原因不是编辑不认真,而是“协作”被理解成了“多人同时改同一份内容”。
这里有两种解释。第一种是工具问题:缺少版本记录,谁改了什么看不出来,于是只能靠人工比对。第二种是流程问题:没有指定谁是主副本的负责人,每个人都在自己方便的地方改,改完也不通知。两者都会造成分叉,但处理方式完全不同。
可以做一个简短的排查。假设同一份资料在两周内出现了两次不一致,先记录三件事:
这个排查的作用是决定下一步:如果证据指向流程,就先定主副本负责人;如果指向工具,就先统一字段和记录方式。反过来做,往往白费力气。
做法一:单一主副本加提交修改。适用于资料更新频率不高、编辑人数在三到五人之间的情况。具体动作是:指定一人持有主副本,其他人把修改写成“原文—改为—理由”的短条目,由主副本负责人合并。代价是合并有等待时间,紧急修改可能延迟。结果通常是字段一致性明显提高,但负责人成为瓶颈。
做法二:缩短并行窗口加发布前冻结。适用于更新频繁、编辑人数多、无法让一个人集中合并的情况。具体动作是:约定每天只在固定时段开放编辑,冻结后由一人做一次合并检查,再发布。代价是编辑自由度下降,且冻结期间的新需求要排队。结果是冲突减少,但需要团队接受节奏约束。
判断选哪种,看一个条件:如果同一份资料被两个以上栏目引用,优先做法一;如果资料只在一个页面出现且改动频繁,做法二更现实。两种做法都不承诺消除分叉,只是把分叉控制在可发现、可回退的范围内。
假设“张家界某条线路”的集合时间同时出现在线路详情页和预订须知里。编辑甲改了详情页,编辑乙改了须知,两边都没通知。发布后读者看到两个时间。
按做法一处理:指定线路资料的主副本负责人,甲和乙都提交修改条目,负责人合并后只发布一次。下一步是检查还有哪些页面引用了这个时间,把它加入同一份字段表。按做法二处理:当天冻结编辑,负责人比对两处后统一,再约定下次只在开放时段改。下一步是观察一周内是否再次出现同类冲突,如果仍出现,说明字段表还不完整,需要继续补。
这个例子里没有真实项目数据,数字只用于说明比较方法:冲突次数减少不能单独证明流程正确,也可能只是因为这段时间编辑人数减少或更新需求变少。要区分这两种解释,需要同时记录编辑人数和修改条数。
先列出被两个以上页面引用的字段,例如集合时间、门票说明、联系电话、开放时间。把这些字段标成“主副本字段”,指定负责人。然后规定:主副本字段的任何修改都走提交条目,其他字段可以按做法二直接改。这样既不必把所有内容都管死,也能把最容易分叉的部分先控制住。执行一周后回看冲突记录,再决定是否扩大主副本范围。