Git
理解分布式版本控制系统
我们⽬前所说的所有内容(工作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。而我们的Git
其实是分布式版本控制系统!什么意思呢?可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有⼀个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某⼀个人的电脑坏掉了不要紧,随便从其他人那里复制⼀个就可以了。在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在⼀个局域网内,两台电脑互相访问不了。也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有⼀台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也⼀样干活,只是交换修改不方便而已。有了这个“中央服务器”的电脑,这样就不怕本地出现什么故障了(比如运气差,硬盘坏了,上面的所有东西全部丢失,包括git的所有内容)
远程仓库
Git
是分布式版本控制系统,同⼀个Git
仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有⼀台机器有⼀个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是⼀样的,并没有主次之分。你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?其实⼀台电脑上也是可以克隆多个版本库的,只要不在同⼀个目录下。不过,现实生活中是不会有人这么傻的在⼀台电脑上搞⼏个远程库玩,因为⼀台电脑上搞⼏个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我们也不探讨在⼀台电脑上怎么克隆多个仓库。实际情况往往是这样,找⼀台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆⼀份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别⼈的提交。完全可以自己搭建⼀台运行Git
的服务器,不过现阶段,为了学Git
先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub
的神奇的网站,从名字就可以看出,这个网站就是提供Git
仓库托管服务的,所以,只要注册⼀个GitHub
账号,就可以免费获得Git远程仓库
。github
是国外的⽹站,速度比较慢,我们统⼀采⽤码云(gitee)
来托管代码。下接来,我们从零开始,使⽤⼀下码云
远程仓库。