版本控制的概念
01-版本控制的起源
现在的软件项目通常都是共同的一个小组来进行研发
针对团队开发需要解决以下问题
- 备份多个版本,费时间,费空间
- 难于恢复至以前正确的版本
- 难以解决代码冲突问题
- 难于追溯问题代码的修改人和修改时间(甩锅) 无法进行权限控制
- 项目版本发布困难
这个时候源代码管理工具也就应运而生
02-什么是版本控制
版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程,是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统
- 如果是团队开发,使用版本控制是强制性的
- 如果是单人开发,也强烈建议现在就开始使用版本控制
使用版本控制的好处:
- 不会对现有工作造成任何损害
- 不会增加工作量
- 添加新的功能扩展,会变得更加容易
03-常见的版本控制工具
- CVS版本控制之父
- SVN集成式版本控制之王者
- Git分布式版本控制之伟大杰作(
推荐)
04-分布式和集中式的最大区别
- 在集中式下,开发者只能将代码提交到服务器,在分布式下,开发者可以本地提交
- 在集中式下,只能远程服务器上有代码数据库,在分布式下,每个开发者机器上都有一个代码数据库
Git和SVN的简单对比
- 速度
- 在很多情况下,GIt的速度要远远比SVN快
- 结构
- SVN是集中式管理,Git是分布式管理
- 其他
- SVN使用分支比较笨拙,GIt可以轻松拥有无限分支
- SVN必须联网才能正常工作,Git支持本地版本控制工作
- 旧版本的SVN会在每个目录下放一个.svn文件夹(冗余的代码更多),而Git只会在根目录下放一个.git文件夹