git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,也是世界上最流行的版本控制系统
背景
版本控制系统
版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便产看历史记录,备份以便恢复以前的版本的软件工程技术,简单来说就是用于管理多人协同开发项目的技术
没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发中将会引入很多问题,如代码冗余、软件过程的事务性、并发性、安全性等等
比如你肯定经历过这样的事情,甲方要求做一个策划,你改了很多版本甲方都不满意,最后选择了最开始的版本,这样你就会有很多版本的文档出现,这就造成了冗余
分布式版本控制
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线 在本地提交,只需在联网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有版本数据,只要一个用户的设备就可以恢复
git历史
Linus在创建linux之后,由于是开源,所以Linus一人管理接收到的源代码,这就给他造成了很大的麻烦,但他坚持不用一些市面上的集中式版本