47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
|
---
|
|||
|
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)
|