认识版本控制 柳峰 http://blog.csdn.net/lyq8479 http://edu.csdn.net
现存的问题 程序被误删了,无法恢复,只能重写。 多人同时修改一个文件时,有些人的修改结果被冲掉了。 不了解文件的修改过程,尤其是最后做了哪些修改? 花了很长时间查出的BUG,却发现同事上周已经修复。 对文件做了大量改动,又想将其恢复到以前的某个状态。 在项目中发现BUG,想知道它是什么时间产生的。 新版本上线失败,需要回退到以前的版本,却忘记备份。 我写了一个方法被别人修改了,为什么要修改? 当某些文件被误删,或者项目出现BUG,都说不关自己的事。
什么是版本控制 版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。版本控制就是对软件开发过程中的文档、程序代码的版本(每一次改动)进行管控(记录、跟踪、比较、合并等)。 Network 开发人员A 开发人员B 版本控制服务器 存储文件 读取文件
版本控制系统的发展史 本地 集中化 CVCS 分布式 DVCS 通过单一的集中管理的服务器,保存所有文件的修订版本,支持多人协作 在本地采用某种简单的数据库来记录文件的历次更新差异,不支持多人协作 客户端并不是提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。任何一处协同工作的服务器发生故障,可以用任何一个镜像出来的本地仓库进行恢复
常用的版本控制系统 分类 版本控制系统 说明 集中式 VSS CVS SVN 分布式 Git Mercurial Darcs 微软的版本控制系统,全称为Visual Source Safe CVS 最早的开源、免费的CVCS,由于CVS自身设计缺陷,会造成文件提交不完整,版本库莫名其妙损坏的情况 SVN Subversion的简称,它的设计目标就是取代CVS 分布式 Git 一款免费、开源的分布式版本控制系统。Git是Linus Torvalds为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件 Mercurial 一种轻量级的DVCS,采用Python语言实现,易于学习和使用,扩展性强 Darcs 新一代轻量级DVCS,完全使用Haskell编写而成
THANKS 本课程由柳峰提供 畅销书《微信公众平台应用开发:方法、技巧与案例》作者 CSDN网站:www.csdn.net 企业服务:http://ems.csdn.net/ 人才服务:http://job.csdn.net/ CTO俱乐部:http://cto.csdn.net/ 高校俱乐部:http://student.csdn.net/ 程序员杂志:http://programmer.csdn.net/ CODE平台:https://code.csdn.net/ 项目外包:http://www.csto.com/ CSDN博客:http://blog.csdn.net/ CSDN论坛:http://bbs.csdn.net/ CSDN下载:http://download.csdn.net/