Git概念:
Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。
这是官方给出的概念,相信大部分小伙伴读完也是一脸懵逼,别急,我来解释给你听。
两个抽象名词:分布式、版本控制。
什么是分布式呢?
我们可以先分析一下传统的集中式系统 ,可以参照如下图理解,所有协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新,这样的做法就会导致中心主机资源紧张与响应瓶颈的缺陷,这样做很明显有一个缺点:中央服务器的单点故障,如果服务器宕 机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
而分布式则是很好的解决了这个缺陷,像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用 其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次 对整个文件仓库的完整备份。 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷: 1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的) 2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
什么是版本控制?(举例子生动形象)
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换,相信大家读下来还是脑子一片空白哈哈,我来举个例子哈~
比如说,我们写毕业论文,我们起初提交了我们的论文,老师说我们毕业论文不合格不达标,叫我们拿回去修改修改,于是聪明一点的我们,不会在原文上进行进行修改,而是打印一份一样的在这份中修改,那为什么我们要这么做呢,大家想一想,你能保证你修改之后的论文就比原来的让老师满意吗,不一定吧,所以啊,我们从新打印一份再改,提交给老师,老师又不满意,又回去修改,又打印一份,老师又不满意,又打印......最后老师忍不了了,说没时间了,直接交你的第二版给我吧,那一版更好一点勉强过关。
这样下来,我们保留了各个完整的版本,可以随时切换到我们想要的那个版本,这就是版本控制,大家大概了解了Git 的作用了吗~