00:00
那么我们学习SV呢?首先要提出一个问题,我们为什么要用它啊?我们不用SV,有数据库,有MY,有spring,有Mac是吧?有页面上的各种技术,我们足以开发一个完整的项目了,我们为什么还需要使用SV呢?哎,这里边呢,其实就是发生了一个变化,那就是从个人开发到团队协作,以前我们就是自己一个人干,现在呢,我们有好多个人,我们一起互相配合来开发一个项目,这个时候对我们开发会有哪些新的要求呢?在这儿咱们画个图呢,咱们来给大家推演一下。比如说呀,我们现在呢,有小红和小蓝这样两个开发人员,一个红脸,一个蓝脸,诶那么两个人一起开发会有什么问题呢?首先呢,我们得有一个总的地方去存我们这些开发的时候的代码的文件,哎,那你这些文件是存小红这儿也不合适,存小蓝这儿也不太合适,所以说就想呀,诶我们给它存到服务器上了,那么这个服务器我们用一个什么样的服务器呢?如果只是存文件的话,我们可以考虑FTP服务器,但是FTP服务器哈,它只能对文件进行管理,它的管理呢,最细的力度哈,就是文件这个级别的,他没有办法深入到文件的内部,如果说我们使用FTP这样的文件服务器来管的话呢,就会有这样的问题,你比如说我们有一个文件哈,它的内容呢?
01:44
AABBCCBB。假如说我们有这么一个文件,这个文件呢,我们给它存到这个服务器上了。存到服务器上面以后呢,我们小红和小兰呀,他们分别下载了这个文件。
02:07
下载下来以后呢,他俩做了相应的修改,比如说小红呢,他改的是第二行,诶我这也给他标记成红色,小兰呢,他改了第四行。然后小红呢,他先把文件上传到服务器了。那么这个服务器端呢,它就文件就发生了变化,就变成了这样了。因为我们上传上去以后呢,新的文件会把旧的文件覆盖掉,然后呢,我们小兰呀,他也去做了文件的上传,上传上去以后呢,这个时候大家注意哈。
03:01
我们普通的文件服务器和我们版本控制工具呢,它们之间的差异呢,在这就能够体现出来了,如果是普通的文件服务器的话,那么还是旧的文件去把新的文件,新的文件把旧的文件给替换掉,那么服务器端呢,它就是小兰提交的,呃,上传的文件的这个状态,你看呢,小红所做的第二行的修改呢,就没有了。啊,他这个文件呢,是按小兰上传的这个为准的啊,那这是我们大家都知道,你作为代码来说,你把小红所做的修改呢,给覆盖掉啊,给丢失了,这个肯定是不对的啊,那等于小红的活他白干了嘛,那么我们应该怎么办呢?我们应该是在小红所做的修改的基础之上。诶,在小红所在做的修改的基础之上哈,再把这个小蓝所做的修改呢,给它加上。
04:00
诶,所以说呢,我们版本控制工具的它的服务器哈,需要对我们这个文件呢,进行更精细的管理,它需要深入到文件的内部,以行为单位去管理我们文件的内容,哎,而且在这个时候呢,帮我们去管理各个版本,比如说呢,我们最初的服务器里边这个是版本唯一。然后呢,小红上传了以后,这个版本呢,我们叫就是二了,其实这个我们现在所说的上传哈,其实真正我们按我们版本控制工具的术语来说呢,叫提交,诶小兰的他在上传或者说叫提交之后呢,版本变成了三,往后呢还可以继续的去迭代。啊,不断的去推进这个版本。好,那么这就是我们版本控制工具呢,最基本最基本的一个工作的方式啊,就是说呢,我们深入到文件内部,以行为单位,更精细的去管理文件内容的变化,这个是我们普通的文件服务器做不到的啊,这个时候呢,就因为有团队协作啊,我们就必须呢,使用版本控制工具啊来帮助我们。
05:24
我们把这个图拿到我们笔记里面啊,就是大家通过这个图呢去体会啊,我们从个人开发到团队协作,我们发生了什么样的变化。
我来说两句