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) |