编辑推荐: |
本文来自yanan0628,介绍了版本控制系统的概念,发展以及优点。 |
|
1.什么是版本控制系统?
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是
Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.版本控制系统的发展?
2.1 本地版本控制系统
许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。
有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件。为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。
2.2 集中式版本控制系统
集中化的版本控制系统(Centralized Version Control Systems,简称
CVCS)应运而生。 这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
多年以来,这已成为版本控制系统的标准做法。
2.3 分布式版本控制系统
于是分布式版本控制系统(Distributed Version Control System,简称
DVCS)面世了。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。
这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
3.git版本控制工具好处?
优势:
速度快 :有本地版本库和远程库之分,先提交本地(快)在推送到远程
简单的设计 :
对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
完全分布式 : 保证控制工具始终是可用
有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量) |