1 版本控制系统
我们在编写程序与文档的时候,往往会面临添加并修改许多版本的问题。比如我一开始写好了《课程报告》,后来发现有一些内容要修改,又不想直接在原文档上修改,于是创建了一个《课程报告-副本》,在这上面修改。之后可能又会遇到有些东西要添加、有些东西要修改,于是我们复制的文档越来越多,什么《课程报告1.0》、《课程报告1.1》……《课程报告5.0》,看着文件夹里一大堆的文档,这就很让人头大了,改到后面难免会忘记每个版本究竟改了些什么内容。
为了解决这个问题,诞生了版本控制系统,它有一个版本库存放了文件的各个版本,可以管理文件的不同版本,对文件各个版本的修改内容、时间、人员进行记录,方便人们进行回溯。版本控制系统分为集中式与分布式两种类型。
- 集中式版本控制系统:版本库存在中央服务器中,每次用户要对文件进行修改时,便需要将文件从中央服务器拷贝到自己电脑上来,编辑后再传回中央服务器,完成一次的版本改动。这种控制系统适用于上传与下载速度快的环境,并且无法在离线情况下进行版本修改
- 分布式版本控制系统:每台电脑上都有一个独立的版本库,工作时无需联网,每位用户在自己电脑上进行版本控制即可。如果多位用户之间需要交互,则可以将各自的版本库推送给对方。
Git是一款开源的分布式版本控制系统,也是当下最流行的版本控制系统。
2 Git与Github
Git是下载到每台电脑上的版本控制系统,可以认为是一个软件。可以从官网上进行下载
下载成功后右键文件夹可以看到以下两个选项。
- 版本库(repository):版本库又叫仓库,可以理解为受到git管理的一个文件夹,文件夹里面每个文件的修改、添加或者删除都受到git的记录,git提供一系列的方法对仓库里面的文件进行版本控制。
Github是一个远程仓库托管平台,各个用户可以将自己的版本库传送到这个远程仓库上与别人共享并进行管理。并且github上面托管了大量优秀的程序,我们可以直接将其下载到自己的电脑上进行学习。
除了github,还有许多远程仓库可供我们使用,比如gitee、华为云等,他们的操作都大同小异。其中github为国外网站,有的时候下载与上传速度很缓慢。