什么是版本控制?
一份文件,我们是否得到最终版本就可以了?答案并不是,至少在实际的开发过程中,并不是!
比如写论文,我们最终交上去的是论文最终版。但是在这个最终版出来前,你的电脑里面一定有论文初版、论文修改版、论文绝对不改版、论文谁改谁是狗版......多个文件夹。甚至于最后你还是发现论文初版最好,然后把初版交上去了。
这些电脑里面的文件夹其实就是帮你做了一个版本管理。它们一起实现了上图的Version Database的功能。如果是一个游戏项目需要进行版本管理呢,情况发生了及其大的变化。因为文件数量的剧增,量变引起了质变。
试想一下,你要管理一百万个文件,每个文件都有3个版本,那就是3百万个论文初版、论文修改版、论文绝对不改版......这不可能用人力来解决的,想都不要这样想。
于是,我们开发一个软件,它没有疲劳的帮我们登记一百万个文件,三百万个分身。这样就可以了吗?还是不够,因为你一定不想工作的时候,看到同一份文件的三个版本同时出现在你的眼前。你的论文一定是在上一个版本的基础上做修改,而不是每一个版本都要修改。当三百万个分身同时出现在你的面前时,你是不可能正常工作的。
所以版本管理软件帮我们把三百万个分身包装在了Database里面,不让我们看见。当我们需要文件工作时,database就把我们需要的版本分发(checkout)到文件夹中,我们就能在文件管理器中看到我们想要的东西了。这便是左边file。