Cao Yi

第二章 版本和版本管理

⇦上一章 - 首页🏠 - 下一章⇨



Git 作为版本管理系统,可以用它管理版本——好像啥都都说了,又好像啥都没说😄

版本是什么

举个例子,张三在写一篇文档,12月05日完成初稿,06日又增添了一些内容,07日又修改了一些内容。张三的这篇文档有以下一些版本

如果他要继续修改,就会继续产生新的版本。版本可以看作文档在某个时刻的存档(或者叫「快照」)。

版本管理系统

多数时候,张三只需要使用最新的版本就行了。但是,还可能有其他一些需求,比如:

这就需要我们把每版的改动变化记录下来才行。而版本管理系统 (VCS, Version Control System) 就是专门来做这类事情的,它可以

上一章提到过 VCS 有很多,如 git, hg, BitKeeper 等,我也或多或少用过一些,体会是:

  1. VSS (Microsoft Visual SourceSafe), 毕业后接触的第一个 VCS,感觉特别不方便,当时的公司不久也就换用 CVS 了,才觉得世界可以更美好
  2. CVS 比较简单,不过也太简单了,在用上 SVN 之后,再也不愿意用它了
  3. SVN 还算不错,在工作中也用了相当长时间,其中原子提交相对于 CVS 给代码追踪带来很大进步
  4. CC (ClearCase) 曾用过一段时间,但感觉从来没搞懂过,也没有再用的兴趣了。至今无法理解的是,居然有人花钱去买这个东西!
  5. Hg (Mercurial) 玩了两天,没在实际的项目中使用过,但感觉还不错,是我用的第一个分布式的 VCS
  6. Git 上手稍难点,但上手之后,再也不想用其他的 VCS 了

VCS 适用范围

VCS 主要用于纯文本的版本管理,如 markdown 文档和程序源码,深受软件从业人员喜爱,已成为他们的必须。较小的二进制文档也可以放在 VCS 系统里,但大的二进制不建议直接丢给 VCS 管理。

Why Git

这么多 VCS 中,为什么要选 git 呢,因为它:

其实单独某个特点都不算特点,别的软件也可能有,但同时具备四个,唯有 git.


⇦上一章 - 首页🏠 - 下一章⇨