跳到主要内容

版本控制系统

纸质文档

在一张张纸上的文档,可以(多人)打草稿、画杠、画波浪线、画圈、打叉打勾、荧光笔涂色,空白处剪贴、写备注、标日期,这些操作方式能准确的记录、存储、检阅、交换和组合。

这样在纸上写文档时,可以便捷记录什么时候、被什么人、以什么样的原因、在文档什么位置、进行了什么样的操作,以推进文档的演进

也就是说,在纸张上,能同时保存文档的操作痕迹和数据内容,不仅能个人编撰,也可以组团编纂。

电子文档

计算机上的电子文档,虽然编写、存储、传播方便,但操作方式缺少纸张上变动的可操作性、视觉的直观性、演进的可追溯性。

普通的电子文档,只能保存文档的数据内容,只能个人编撰。额外信息,依赖特定系统/工具、网络进行备注、注释。

有无版本控制差异

没有版本控制,需要将文件复制为副本,以便对比、回溯。

有了版本控制,能纸张化电子文档,即记录一个或若干文档内容变化,追溯各个变化之间的差异,进行版本修订。

无版本控制有版本控制

无论哪个行业,只要是在计算机上操作文档,就应该将这些文档纳入版本控制系统 (Version Control Systems) 进行管理。

版本控制与文档管理

版本控制,就是要记录展示文档和文档内容在什么时候、是什么人、以什么样的原因进行了什么样的操作、造成文档有哪些变化和差异,以进行文档管理,使得计算机上的数据能“史记”,能“演进”,能在过去、现在“穿越”,能“合并”不同时间轴上的文档信息。

版本控制系统

版本控制,实现的方式和工具有很多。

  • 本地版本控制系统,Local Version Control,第一代;
  • 集中式版本控制系统,Centralized Version Control Systems,CVCS,第二代;
  • 分布式版本控制系统,Distributed Version Control Systems,DVCS,第三代。

本地版本控制,有 SCCS1、RCS2 等系统;旨在跟踪单个文件的更改,签出的文件一次只能由一个用户在本地编辑;

集中式,有 CVS3Subversion4、Perforce 等系统;由一个单一的集中管理的服务器,保存所有文件的修订版本。允许多个用户同时签出和使用代码;

分布式,有 GitMercurial、Bazaar、Darcs5 等系统;参与分工的每台计算机上的仓库内容都一样。

起始于第三代计算机(集成电路和小型机)向第四代计算机(个人计算机和移动终端)发展阶段。

版本控制系统资源


  1. SCCS (Source Code Control System)
  2. RCS (Revision Control System)
  3. CVS (Concurrent Versions System)
  4. SVN (Apache Subversion)
  5. Darcs (Darcs Advanced Revision Control System)