版本控制的起源

版本控制的起源

  • 现在的软件项目通常是由一个研发小组共同分析、设计、编码、维护以及测试的
  • 针对团队开发需要解决以下问题
  • 备份多个版本,费空间,费时间
  • 难于恢复到以前正确版本
  • 容易引发BUG
  • 解决代码冲突困难
  • 代码管理混乱
  • 难于追溯问题代码的修改人和修改时间
  • 无法进行权限控制
  • 项目版本发布困难
  • 源代码管理工具就是为了解决上述问题应运而生的

版本控制(Revision Control)

  • 是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统
  • 如果是开发团队中的一员,使用版本控制是强制性的
  • 如果是单人开发,也强烈建议现在就开始使用版本控制
  • 不会对现有工作造成任何损害
  • 不会增加工作量
  • 添加新的功能拓展时,会变得更加容易

常见版本控制工具

CVS

  • CVS 开启版本控制之门
  • CVS 1990年诞生,远古时代的主流源代码管理工具

SVN

  • SVN 集中式版本控制王者
  • SVN 又称 subversion,是 CVS 的接班人,是一款集中式的源代码管理工具。曾经是绝大多数开源软件的代码管理工具(google code),前几年在国内软件企业使用最为普遍

GIT

  • GIT 分布式版本控制是一个伟大的作品
  • GIT 是一款分布式源代码管理工具,目前国内企业几乎都已经完成了从SVN到GIT的转换

集中式源代码管理

分布式源代码管理

分布式和集中式的最大区别在于

  • 在集中式下,开发者只能将代码提交到代码服务器,在分布式下,开发者可以本地提交
  • 在集中式下,只有远程服务器上有代码数据库,在分布式下,每个开发者机器上都有一个代码数据库

SVN(集中式)

GIT(分布式)

GIT和SVN的简单对比

速度

  • 在很多情况下,Gitt的速度远远比SVN快

结构

  • SVN是集中式管理,Git是分布式管理

其他

  • SVN使用分支比较笨拙,Git可以轻松拥有无限个分支
  • SVN必须联网才能正常工作,Git可以支持本地工作不需要联网
  • 旧版本的SVN会在每一个目录置放一个.svn,Git只会在根目录有一个.git
posted @ 2020-09-14 14:18  BNTang  阅读(117)  评论(0编辑  收藏  举报