版本控制
1. 什么是版本控制?
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发项目的技术。
2. 为什么需要版本控制?
没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具。(多人开发就必须要使用版本控制)。
3. 分类
1. 本地版本控制
通过日期,保证每个不一样
2. 集中版本控制
所有的版本信息都在服务器上。
团队开发每个人都通过服务器拉取信息,自己在本地进行修改,修改之后提交到服务器上。
问题:对于本地的用户,需要联网。服务器损坏,信息就丢失了。
代表产品:SVN
3. 分布式版本控制
服务器上有这些信息,每个人本地的电脑上也有一份。用的时候可以不联网,也可获得信息。
好处:所有人都有完整的代码,服务器损坏不会造成不能工作。
安全隐患:所有人都有代码,万一这个人不安全。
代表产品:git
SVN和git的区别
SVN:
SVN是集中版本控制,所有的版本都是集中的放到中央服务器上,工作的时候用的是自己的电脑,所以想要工作的话,首先要从服务器当中去得到最新的版本,然后去工作,工作完成之后,把自己结束完成的信息推送到服务器。
必须得联网才能工作。
git:
git是分布式版本工作系统,每个人的电脑都有一个完整的版本库,所以在工作的时候不需要联网也行。如果修改文件,只需要把这个文件推送给对方,对方就知道修改了。
而且git工具里,可以看到更新了哪些内容。