版本控制及其种类

1. 版本控制

    版本控制(Revision/Version control),团队项目产品开发的过程中,项目文件代码保持一致性的一种方式。
    示例:最简单的版本控制就是保存项目内容的一个备份,编号为"A",然后基于原始项目进行修改,修改后保存为版本"B",保留软件不同状态的数份copy,并且适当编号。许多大型开发案都是使用这种简单技巧。虽然这种方法能用,但是很没效率。一是因为保存的数份copy几乎完全一样,也因为这种方法要高度依靠开发者的自我纪律,从而导致错误。
版本控制系统
        版本控制系统(Revision/Version control system),就是能自动实现特定/完全版本控制功能的一种软件实现平台,它是文件多版本状态共存的一种机制。
        示例:软件初版等级"A",基于该版本做了一些修改后,提交后版本等级改为"B",以此类推逐渐出现更多的版本,版本控制的一个最重要的功能就是历史记录追踪,它基于版本号,让项目整体内容恢复到任一版本状态,这种功能在防止产品进行未知功能设计失误时特别重要。

2. 为什么用

版本存储
        常见的版本存储方式就是在本地多次备份不同版本的文件,即使按照通用的命名格式保存后,还需要花费大量的时间来分析整理这些备份文件,而且这种操作很容易出错,而且经常性的不知道为什么保存,保存了什么变动的内容,因为我们很少花更多的时间去记录和观察每一个重要的变化
        版本控制系统就完美的解决了我们的问题,每当你提交一次对项目新的改动时,他会基于最原始的文件,保存每一个细节的变化到一个版本中,可以帮助我们很好地了解相邻版本间的变动关系。
        而且版本控制系统有撤销的功能,我们可以基于某个版本号,撤销所有/部分的变动信息,回到当时的文件状态。在项目的每一个重要阶段,认识和正确地使用撤销功能会让我们的工作变得非常轻松。

协同合作
        基于传统方式修改项目代码的时候,必须告知团队中的其他人,我在干什么,防止他们和我冲突,而这不可能的,所以当我好不容易编辑完文件后,发现该文件被人删了,感觉很不舒服。
        有了版本控制系统,团队每一个成员都可以自由的修改代码文件,进行团队的协同工作,版本控制系统可以帮
        我们将所有改动内容合并保存为一个版本,即使某些功能代码意外丢失,也可以通过版本系统找回。

3. 版本控制种类

        随着互联网的发展,软件产品的更新迭代越来越快,软件产品代码的版本控制系统也发生了千变万化,既有开源的,也有商用的,而且都是针对各种不同的应用环境设计的。目前市场上出现比例较高的版本控制系统主要有两类:集中式版本控制系统和分布式版本控制系统。

分类及使用

集中式版本控制系统
        集中式版本控制系统:产品项目的标准代码集中放在中央代码服务器的,我们工作时候,必须连接中央代码服务器并获取最新版本代码,进行编写或者更改代码并检查完毕后,推送到中央代码服务器。该版本控制系统受网络限制比较大。
        常见的工具:CVS(Concurrent Versions Control System),SVN(Subversion),VSS(Visual So urce Safe)、...
分布式版本控制系统
        分布式版本控制系统:分布式版本控制系统没有中央代码服务器的。团队中每个人的电脑就是一个完整的代码版本库,我们都在自己的电脑上进行工作,即使没有网,工作也不受影响,团队成员的所有代码最终会合并在一起。因为每个人都可以在本地对同一个文件进行修改,所以在代码合并的时候,会受到一定的影响。
        常见的工具:Git、 Mercurial、Monotone、Bitkeeper、...
常见工具使用情况

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容