前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源世界大冒险 | 第 2 期:聊聊版本控制

开源世界大冒险 | 第 2 期:聊聊版本控制

作者头像
江不知
发布2019-12-12 15:46:21
3540
发布2019-12-12 15:46:21
举报
什么是版本控制?

在上一篇中我们说到:Git 是由 Linux 之父 Linus Tovalds 创建的分布式版本控制系统。那么,什么是版本控制呢?

版本控制(Version control)最主要的功能是追踪文件的变更,它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。

为什么要进行版本控制?

你的个人电脑上可能曾经也出现过这样的场景:

这篇论文我死也不改了!

你需要修改最初的论文版本,但又怕因为修改错误而破坏它,所以在每次修改时都将新的文档另存一份,且保留之前的论文版本。这样「复制-修改-备份」的方式就是一个简单的本地版本控制系统

本地版本控制系统

本地版本控制容易犯错,也只适合一个人玩得不亦乐乎,如果需要多人协作,又该如何处理呢?

集中式版本控制

为了让不同计算机上的开发者协同工作,集中式版本控制系统(Centralized Version Control Systems,CVCS)应运而生。

集中式版本控制系统都有一个中央服务器,用于集中存放版本库。多人协作时,每个人都需要连接到这台服务器,才能拉取文件或提交更新。

集中式版本控制系统

与本地版本控制系统相比较,集中式版本控制系统:

  1. 解决了多人协同工作的问题
  2. 不那么容易犯错了
  3. 可以看到项目中的其他人在做些什么
  4. 管理员可以掌握每个协作者的权限

但它依然存在缺点:过分依赖中央服务器。中央服务器一旦宕机,就无法协同工作,中央服务器上的数据一旦丢失,所有历史变更都将灰飞烟灭。

分布式版本控制

分布式版本控制系统(Distributed Version Control System,DVCS)解决了集中式版本控制系统的问题。Git 就是分布式版本控制系统的代表。

分布式版本控制系统

在分布式版本控制系统中,每个协作者都拥有整个代码仓库的完整镜像。这样一来,代码库的管理(提交、回溯、合并等)都可以在本地进行。

与集中式版本控制相比,分布式版本控制的优点有:

  1. 无需联网工作,更加方便灵活
  2. 每个协作者的计算机中都有完整的版本库镜像,降低了数据丢失的风险

这些优点正是 Git 大行其道的原因。

除此之外,分布式版本控制还支持各式各样的协作流程,我们将在接下来的章节中一一道来。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程拯救世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要进行版本控制?
  • 集中式版本控制
  • 分布式版本控制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档