最近在根据廖雪峰的的git教程接触git,同时上b站看了小甲鱼的教学视频,总结了一些笔记。
1.版本控制系统
(1)定义:版本控制系统指对软件开发过程中各种程序、代码、配置文件以及说明文档等文件变更的管理,是软件配置的核心思想之一。
(2)主要功能
a.追踪文件的变化
b.解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
(3)常用的版本控制系统包括 VSS、SVN、Git 等,其中VSS、SVN属于集中式,Git属于分布式
(4)集中式VS分布式
a.集中式:版本库(又名仓库)是集中存放在中央服务器的,在干活时用的是自己的电脑,所以首先要从中央服务器取得最新的版本,然后开始干活,干完之后,再把自己的活推给服务器,当中央服务器坏了,所有人都无法正常工作。集中式最大的毛病是必须联网才能工作。
b.分布式:一个人的电脑都有一个完整的版本库,每个开发者可以通过克隆(git clone)在本地机器上拷贝一个完整的git仓库,当自己的电脑坏了,可以从其他人那里随意copy一份。
2.git
(1)git是世界上最先进的分布式版本控制系统(没有之一)。
(2)优点
a.适合分布式开发,每一个个体都可以作为服务器。
b.速度快,灵活,各分支可以任意切换。
c.任两个开发者可以很容易的解决分支冲突问题,再单机上就可以进行分支合并。
d.离线工作,不需要联网,可以先暂存到本地,等有网络了再提交。
廖雪峰git学习链接:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/