版本控制与文件管理的区别

版本控制和文件管理不是两个可以二选一的选项。版本控制是文件管理内部的一种机制,和访问控制、元数据、保留期与工作流路由并列。

文件管理是治理一份文件整个生命周期的更宽泛的做法;版本控制是它其中一种机制——负责追踪这份文件连续各版本的那一种——而不是另一套跟它竞争的组织方式。

简而言之

  • 文件管理是那套做法本身;版本控制是它内部的一种机制,不是可以替代它去选的另一套系统。
  • 版本控制回答“这是哪个版本,改了什么”。文件管理还要回答谁能看到它、它存在哪里,以及它什么时候该审查。
  • 一套典型的文件管理体系,通常是在一份版本历史外面包裹上访问控制、元数据与分类、保留期安排和工作流路由。
  • QueryChart 的免费版本历史——带逐字段差异的变更日志、比较版本、还原——是版本控制这一层;它本身不会去设置访问权限或保留期限。
  • “版本控制还是文件管理”本身就是个问的方向不对的问题。真正的问题是:你的文件管理体系里,有没有真正的版本控制。

一个是整份工作,另一个只是其中一部分

让十个人分别定义文件管理和版本控制,会有好几个人悄悄以为这两者是可以二选一的替代品。它们不是。文件管理是治理一份文件整个生命周期的做法:谁可以看它,权威副本存在哪里,它怎么被分类和检索,能保留多久,以及一份草稿如何走过评审到达批准。版本控制是这套做法里的一部分——负责追踪文件本身连续各版本的那一部分,让你能看出改了什么、谁改的,并在改错了的时候回滚。关于这一部分单独的朴素定义,见 /zh/guides/什么是版本控制。

把两者放在一起看,这层关系就很明显了:每一套文件管理体系都需要版本控制,但几乎没有哪个自称是版本控制的东西,能独自完成文件管理剩下的那些工作。一份版本历史——QueryChart 的免费变更日志和比较版本视图也是其中之一,见 /features/version-control——回答的是“3 版和 4 版之间改了什么,谁改的”。它对谁可以打开这个文件、哪个文件夹是权威文件夹、这份文件什么时候该做下一次审查,没有任何意见。这些都是文件管理的问题,一套真正的文件管理流程会把它们分别导向具名的步骤,而不是留给谁碰巧记得。

下面的文件控制图表把这条边界画得很具体。二十行把一份文件从变更申请带过起草、评审、批准、签发到退役,而其中恰好只有一行——“确定版本与生效日期”——是版本控制在发生的地方。其余十九行是访问控制、元数据、分发、培训和保留期安排:这些都是版本号本身做不到的文件管理功能。这些行所走过的完整生命周期,见 /zh/guides/如何创建文件控制流程;本文只关心其中哪些部分是版本控制、哪些不是。

一个流程,哪些行是版本控制

看一份文件走过申请、起草、版本化和撤回,看清这条链里有多少根本不是版本控制。

  1. 变更被申请——此时还没有任何版本存在

    起点行是一个事件,“识别文件需求或变更”,直接流入“提出文件变更申请”。这是工作流路由,是捕捉为什么需要一次变更这个文件管理功能,而这一切都发生在任何东西拥有版本号之前。

  2. 一行铸造版本,其余都是审批路由

    “起草或修订内容”进入一个评审回路——“开展技术审核”、“有待处理的意见?”这个判断、“根据意见修改草稿”——然后是审批人的“批准签发?”关口。只有“确定版本与生效日期”是版本控制;其余都是工作流路由。

  3. 登记册、发布位置和撤回,是文件管理,不是版本化

    “更新文件总清单”是元数据和分类,写成一个文件形状的行,好让它出现在图上。“发布到受控位置”是访问控制——唯一一个权威位置,不是一份副本。“回收已作废的副本”是分发控制,这三者没有一个存在于版本号本身里面。

  4. 保留期和定期审查,比任何单一版本都活得久

    培训或“阅读并确认新版本”排在“使用现行受控版本”之前,然后“触发计划内的定期审查”按一个计时器重新开启这份记录。“文件是否仍然有效?”的出口是“记录结论与下次审查日期”、回到变更申请,或者“文件已回收并废止”——一套保留期安排,单靠版本控制运行不了。

运作方式

  1. 说清楚你到底缺的是什么

    如果没人能回答“上周谁最后改了第 4 段,改之前写的是什么”,那你缺的具体就是版本控制。如果缺口其实是“谁能编辑这个”或者“大家该信哪一份才是唯一的那一份”,那是文件管理的缺口,单靠一份版本历史补不上。

  2. 检查一份版本历史实际能给你什么

    一份真正的版本历史,展示的是一份按经办人、按字段的差异变更日志——不只是一个修改日期——外加一种能把任意两个版本并排比较、并能还原旧版本的方式。QueryChart 的变更日志和比较版本视图(/features/version-control)是一个可以对照的实例,在你接受某个工具自称拥有“版本历史”之前,先拿它做参照。

  3. 把另外四种功能分别找出来

    访问控制(谁能查看或编辑)、元数据与分类(这份文件怎么被找到)、保留期安排(保留多久、什么时候审查)、工作流路由(一份草稿怎么变成一份获批、已签发的文件)。这些一个都不活在版本号里面,所以要分别去核实,而不是假设一份版本历史已经涵盖了它们。

  4. 不要为了一种机制去买下整套体系

    当你需要以上四种功能被同时强制执行时,一套重量级的文件管理系统才是合理的选择。如果真正缺的只是能看清改了什么、能撤销它,那是一个小得多的问题,一款带真正变更日志的图表工具就能解决,不需要上整套系统。

  5. 把这条区分对应到你自己的流程上

    把你的文件生命周期画成一行一行,标出哪唯一的一行铸造了一个版本,就像下面的图表标出“确定版本与生效日期”那样。图上其余的一切都是文件管理,把它这样铺开来看,通常就足以说清一个团队真正缺的是哪一种。

应避免的错误

  • 本该说“版本控制”时,说成了“变更控制”

    一个变更咨询委员会批准一张变更工单,和一个比较版本视图给两个文件版本做差异对比,解决的是不同的问题,而这两者被混为一谈的次数多到值得专门写一页——见 /zh/guides/版本控制与变更控制的区别 讲清它们分歧的地方。

  • 把“最后修改时间”当成版本历史

    共享盘文件上的一个时间戳,只能告诉你这份文件变过,不能告诉你改了什么、谁改的,也没法把之前的措辞找回来。那不是版本控制,只是“发生过点什么”的传闻。

  • 以为买了文件管理系统就自带真正的版本控制

    不少文件管理系统能存储带丰富元数据和访问规则的文件,却只有一份很浅的修订列表,没有字段级差异,也没有一键还原。要专门确认版本历史这一项,而不是从平台的其他部分去推断它一定有。

亲眼看看版本历史的实际运作

把文件控制示例打开成你自己的图表,然后查看它的变更日志,看清同一条区分——一个版本被盖上戳、一个字段被标出差异、一个旧版本可以被还原。

亲眼看看版本历史的实际运作

相关指南

常见问题

版本控制是文件管理的一部分,还是独立于它?

是它的一部分。文件管理是那套治理性的做法——访问、分类、保留期、工作流和版本化合在一起——版本控制是其中负责追踪一份文件连续各修订的机制。把两者当成可以二选一的选项,正是本文要纠正的那个误解:一套没有版本控制的文件管理体系,缺了一项核心功能;而一份没有访问控制或保留期政策围着它的版本历史,也还算不上真正的文件管理。

为了拿到版本控制,需要上一整套文件管理系统吗?

不需要。版本控制是范围更窄的能力——一份带经办人、字段级差异的变更日志、一种比较两个版本的方式,以及一条还原路径——一款图表工具就能独自提供这些,免费、始终开启,就像 QueryChart 的版本历史那样;见 /features/version-control。当你还需要强制执行的访问权限、正式分类,以及跨大量文件运行的保留期安排时,一套完整的文件管理系统才是正确的选择,而不是在真正的缺口只是“看不清改了什么”的时候。

版本控制和变更控制有什么不同?

版本控制追踪的是一份文件连续的各个状态——3 版和 4 版之间改了什么。变更控制治理的是要不要做这次改动的这个决定本身,通常通过一个咨询委员会、一次风险评估和一份回滚方案,更多用于 IT 系统或运营流程,而不是单一文件。一个文件控制流程两者都会用到:批准之前,变更控制风格的关口把关;变更被批准之后,版本控制记录这次修订本身。完整区分见 /zh/guides/版本控制与变更控制的区别。

在一个文件控制流程里,版本控制具体处在哪个位置?

就在一个点上:一次修订获批之后,分配版本号和生效日期的那一步。它之前的一切——变更申请、起草、评审——和它之后的一切——发布到受控位置、撤回被取代的副本、培训、定期审查——都是文件管理在做一个版本号本身做不到的工作。这些阶段所取自的完整二十行流程,见 /zh/guides/如何创建文件控制流程。

本指南所用的模板

文件控制流程图 — 文件控制流程图,含起草人、评审人、审批人、文件管理员与最终用户五条泳道:起草、审批、发放与定期审查。