git的作用
四个字:版本控制。版本控制用于记录若干文件内容的变化,能够便于将来查看特定时间点上该文件的基本情况。确切地说,git是一种分布式的版本管理系统,Linux的创造者Linus写的。
版本管理方法/原理
版本控制一般分为两种:集中化的版本控制系统和分布式版本控制系统。
集中化的版本控制系统,顾名思义,存在一个充当管理员角色的服务器,所有人对文件修改都提交到这台服务器。其他人需要修改某个文件,那么需要首先从管理员服务器中取到这份文件的最新内容,然后在本地修改,修改完成后提交到服务器。如图:
分布式版本控制系统没有中央控制管理系统,每台电脑都是一个完整的仓库。如果某人修改了文件,其他人只要重新获取一下就可以。但在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。如图:
集中式版本控制系统存储每个文件与初始版本的差异原理:将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
分布式版本控制系统存储每个文件与初始版本的差异原理:Git 不按照以上方式对待或保存数据。 反之,Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个快照流。
领取专属 10元无门槛券
私享最新 技术干货