4
社区成员
发帖
与我相关
我的任务
分享上节说到本地版本控制系统也存在中央服务器的单点故障问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险
于是分布式版本控制系统(Distributed Version Control System,简称 DVCS)面世了。
在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
不仅如此,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。这样一来,你就可以在同一个项目中,分别和不同工作小组的人相互协作。 你可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。