--- title: Version Control System localeTitle: 版本控制系统 --- ## 版本控制系统 版本控制系统(VCS),也称为源代码管理(SCM),是用于跟踪文件更改,管理版本和简化协作文件编辑的工具。 主要有两种类型的VCS: * 集中版本控制系统 中央存储库具有权威性。关联体系结构是客户端/服务器。 第一个VCS(CVS,SVN ......)是集中版本控制系统。 * 分布式版本控制系统 多个存储库交换修改。关联体系结构主要是点对点,但可以将一个repo声明为权威。 最常用的现代VCS(Git,Mercurial ......)是分布式版本控制系统。 ### 为什么要用它? * **更改历史记录** - VCS使用户能够浏览和搜索使用有用信息(日期,作者...)自动记录的所有更改 * **版本/标签** - 用户可以搜索/检索已标记有标签和版本名称的文件的特定状态 * **分支/合并** - 分布式版本控制系统可以轻松维护文件的并行分支,并在需要时部分或完全合并它们。 * **原子操作** - 所有现代VCS都提供原子操作:所有修改都保证成功或失败,确保文件始终处于一致状态。 ### 最流行的版本控制系统 * 混帐 _Git_是一个分布式版本控制系统,可能是目前_Mercurial_使用最多的VCS。 * 水银 _Mercurial_是一个分布式版本控制系统,可能是目前_Git_使用最多的VCS。 * CVS _CVS_是一个古老的SCM,在_SVN_普及之前是卓越的。 _CVS_和_SVN_现在已被弃用,转而使用分布式版本控制系统,如_Git_和_Mercurial_ 。 * SVN /颠覆 _SVM_是继_CVS之后_的旧SCM。 最终, _SVN_因广泛采用分布式版本控制系统(如_Git_和_Mercurial)而_被弃用 ### 更多信息: [CVS](http://savannah.nongnu.org/projects/cvs) [混帐](https://git-scm.com/) [水银](https://www.mercurial-scm.org/) [SVN](http://subversion.tigris.org/) [维基百科上的版本控制](https://en.wikipedia.org/wiki/Version_control)