马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Git版本控制工具详解
邂逅版本控制工具
熟悉版本控制 (版本控制)
- 什么是版本控制?
- 版本控制的英文是Version control;
- 是维护工程蓝图的标准做法, 能追踪工程蓝图从诞生不停到定案的过程;
- 版本控制也是一种软件工程本领, 借此能在软件开发的过程中, 确保由差别人所编辑的同一步伐文件都得到同步;
- 简朴来说, 版本控制在软件开发中, 可以资助步伐员举行代码的跟踪, 维护, 控制等等一系列的使用.
版本控制的功能
- 对于我们一样平常开发, 我们经常面临如下一些题目, 通过版本控制可以很好的办理:
- 差别版本的存储管理:
- 一个项目会不绝举行版本的迭代, 来修复之前的一些题目, 增长新的功能, 需求, 以致包罗项目的重构
- 如果我们通过手动来维护一系列的项目备份, 简直是一场噩梦;
- 庞大版本的备份维护:
- 规复之前的项目版本:
- 当我们开发过程中发生一些严峻的题目, 想要规复之前的使用大概回到之前的版本;
- 纪录项目的点点滴滴:
- 如果我们每一个功能的修改, bug的修复, 新的需求更改都须要纪录下来, 版本控制可以很好的办理;
- 多人开发的代码归并:
- 项目中通常都是多人开发, 将多人代码举行归并, 而且在出现辩说时更好的处置惩罚
版本控制的汗青
- 版本控制的史前期间 (没有版本控制) :
- 人们通常通过文件备份的方式来举行管理, 再通过diff下令来对比两个文件的差别;
- CVS (Concurrent Versions System)
- 第一个被大规模使用的版本控制工具, 诞生于 1985 年;
- 由荷兰阿姆斯特丹VU大学的Dick Grune教授实现的, 也算是SVN的前身 (SVN的出现就是为了取代CVS的)
- SVN (Subversion)
- 因其下令行工具名为svn因此通常被简称为SVN;
- SVN由CollabNet公司于2000年资助并发起开发, 目的是取代CVS, 对CVS举行了许多的优化;
- SVN和CVS一样, 也属于会集式版本控制工具;
- SVN再早期公司开发中使用率非常高, 但是现在已经被Git取代;
- Git (Linus的作品)
- 早期的时间, Linux社区使用的是BitKeeper来举行版本的控制
- 但是由于一些缘故原由, BitKeeper想要收回对linux社区的免费授权
- 于是Linus用了大概一周的变乱, 开发了Git用来取代BitKeeper;
- Linus完成了Git的核心操持, 在之后Linus功成身退, 将Git交由别的一个Git的重要贡献者Junio C Hamano 来维护
会集式和分布式区别
会集式版本控制
- CVS和SVN都是属于会集式版本控制体系 (Centralized Version Control Systems, 简称CVCS)
- 它们的重要特点是单一的会集管理的服务器, 生存全部的文件的修订版本
- 协同开发职员通过客户端毗连到这台服务器, 取出最新的文件大概提交更新.
- 这个做法带来了许多长处, 特别是相较于老式的当地管理来说, 每个人都可以在肯定程度上看到项目中的其他人正在做什么?
- 但是会集式版本控制也有一个核心的题目: 中央折务器不能出现故障:
- 如果宕机, 那么在宕机期间, 谁都无法提交更新, 也就无法协同工作.
- 如果中央数据库地点的磁盘发生粉碎, 又没有做得当备份, 毫无疑问你将丢失全部数据
分布式版本控制
- Git是属于分布式版本控制体系 (Distributed Version Control System), 简称 (DVCS)
- 客户端并不光提取最新版本的文件快照, 而是把代码堆栈完备地镜像下来, 包罗完备的汗青纪录
- 这么依赖, 任何一处协同工作用的服务器发生故障, 过后都可以用任何一个镜像出来的当地堆栈规复;
- 由于每一次的克隆使用, 实际上都是依次对代码堆栈的完备备份
- 现在在公司开发中我们都是使用Git来管理项目的, 以是接下来我们会重点学习Git的各种用法
|