1. 什么是版本控制器?
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
1.实现跨区域多人协同开发.
2.追踪和记载一个或者多个文件的历史记录
3.组织和保护你的源代码和文档
4.统计工作量
5.并行开发、提高开发效率.
6.跟踪记录整个软件的开发过程
7.减轻开发人员的负担,节省时间,同时降低人为错误
简单说就是用于[管理多人协同开发项目]的技术软件。
2. 为什么需要版本控制器?
场景一:备份 小明负责的模块就要完成了,就在即将发布之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月 来的努力付之东流 。
场景二:代码还原 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的 代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?
场景三:追溯问题代码的编写人和编写时间! 老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这 次来说吧,有个Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘 流和正经牛都不承认是自己干的!
3. 版本控制器的种类:
a、集中式版本控制工具 集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。 举例:<SVN>和CVS ------所有的版本记录都放在远程服务器上。
b、分布式版本控制工具 分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的 修改了。git
本地有一个版本记录 远程服务器也有一个版本记录
3.1 GIT版本控制器
Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器,仅仅是为了方便交换大家的修改,但是这个服务器的地位和我们每个人的PC是一样的。我们可以 把它当做一个开发者的pc就可以就是为了大家代码容易交流不关机用的。没有它大家一样可以工作,只不 过“交换”修改不方便而已。