核心做法只有一句:让同一时刻只有一方拥有写入权,另一方改为提交变更包或补丁,由持有写入权的一方合并。对读者手里的一个具体页面,先冻结它,再决定谁写、谁审、谁合并,最后用可核对的版本记录验收。下面按这个顺序给出可执行方案。
不要在两方都还在改的时候讨论流程。先选一个页面作为试点,把它从"可随时编辑"改为"只读参考",再分配权限。判断依据不是谁更资深,而是谁更接近这次改动的最终验收标准。
可执行动作:在内容管理系统或代码仓库里,把试点页面的编辑权限收归一方,另一方降为只读加评论。结果是另一方无法直接保存,只能产出待合并的变更。这一步做完,后面的冲突才有讨论对象。
常见两种做法都合理,但适用条件不同。
做法一,补丁合并。非写入方把改动整理成一份变更包:改哪个文件或哪个字段、原文是什么、新文是什么、为什么改。写入方按包合并,冲突时以写入方的验收标准裁决。适用条件是两方改动区域基本不重叠,且非写入方能说清改动位置。代价是合并环节需要时间,改动越碎,合并成本越高。
做法二,排他时段。约定一段时间内只有一方能写,另一方在这段时间内完全不碰该页面,时段结束后再交换。适用条件是改动区域重叠严重,或双方对同一段文案、同一处模板有分歧。代价是整体节奏变慢,且时段切换时容易出现"我以为你改完了"的空档。
选择条件可以压缩成一句:改动区域重叠度低就用补丁合并,重叠度高就用排他时段。如果重叠度说不清,先按排他时段做一轮,因为它的冲突面最小,代价只是慢。
以读者手里的一个落地页为例,假设它同时被两方改动:一方要调整首屏标题和表单按钮文案,另一方要调整页面模板里的资源加载顺序和结构化数据。这是一个假设例子,用于说明比较方法,不是真实项目结果。
动作与结果的关系在这里很清楚:先合模板再合内容,是因为模板变动可能改变内容所在位置;如果反过来,内容刚合完就被模板覆盖,就要重做。这个顺序会影响下一步是继续合并还是回退重来。
不要只看页面表面是否正常。覆盖往往先出现在字段和引用层,而不是肉眼可见的版面上。可区分的证据包括:
需要说明的是,请求量、抓取量或某项统计归零,不能单独证明处理正确或错误。它还有别的合理解释,比如统计口径变化、页面尚未被重新处理、或访问来源本身波动。判断覆盖要以版本记录和快照对照为主,统计只作辅助。
试点页面跑通后,把这次实际用到的规则固化成下一次交付的前提:谁持有写入权、非写入方以什么格式提交、合并顺序是什么、验收看哪几项证据。这样做的结果是,下一次两方同时有改动时,不需要重新争论流程,只需要按已跑通的顺序执行。如果试点中排他时段明显更省事,下一轮就继续用排他时段;如果补丁合并更顺,就保留补丁格式并明确合并人。适用条件变了,选择也跟着变,不必强求一套规则用到底。