目录
理解分布式版本控制系统
为什么要有分布式版本控制系统?
在之前的文章中,我们已经对Git的使用有了一个认知,但我们之前的git操作全部都是对本地仓库的管理,不管是分支管理还是基本操作...
本地仓库是保存在一台服务器中的。这意味着,假设你需要与你的同事一块进行多人开发,那么你和你的同事需要围在一台电脑上进行开发,那么这样子的开发不仅仅不会提高开发效率,甚至在某些情况下会降低开发效率!
所以我们需要有方式能够让你和你的同事在不同的电脑上拿到同一个仓库的内容,而在git中,分布式版本控制系统完美做到了!
什么是分布式版本控制系统?
在还没有分布式版本控制系统时,你需要与你的同事进行多人开发,那么其实也有方案:
你可以把你的本地仓库,原封不动的拷贝给你的同事,你的同事也可以把他的本地仓库原封不动的拷贝给你!这样就实现了不同主机之间可以拿到同一个仓库!
这种方案与本地仓库相比带来了好处:当你的本地仓库因为某些突发情况丢失时,你的同事那还有备份,提高了安全性!
但这种方案也有着一些问题:
- 直接进行拷贝相对比较麻烦
- 当你的同事因为某些原因,例如:生病了,离职了...时,你无法拿到你同事的本地仓库。这就带来了局限性
基于上述原因,我们不考虑这种将本地仓库直接拷贝的方案
第二种解决方案:
创建一个中央服务器。中央服务器的仓库中保存着项目的内容。中央服务器把你和你同事的电脑进行连接,这意味着你和你的同事可以在自己的计算机上对中央服务器仓库中的内容进行克隆。这样,你们能拿到同一个仓库!
当你对仓库的内容进行了修改时,你把你的修改完的仓库内容上传到中央服务器中,这个动作我们称之为推送!
当你需要拿到你同事的修改内容时,直接把中央服务器中你同事的仓库内容拿到本地,这个动作我们称之为拉取!
这种方案解决了第一种方案所产生的各种问题!这一套体系是集中式版本控制系统,即包含图中所有电脑的本地仓库与中央服务器仓库构成的一套系统!而git所提供的分布式版本控制系统的基础就是集中式版本控制系统,它包含了集中式版本控制系统的所有优点,但提供了比起这种方案更强大、更灵活的多人协作开发功能!
若我们维护一个仓库时,还需要手动架构一台中央服务器,那么成本是巨大的!
所以很多网站为我们提供了中央服务器的功能,例如github、码云...(后续用码云)
我们可以把自己的本地仓库推送到这些网站中,别人也能从这些网站中拉取我们的仓库,实现了多人协作的功能!所以这些网站充当的相当于中央服务器的角色
创建远程仓库
当我们注册并登录上码云后,如下步骤:
仓库名称是必填项,并且仓库名称尽量与它的内容相对应!
仓库被创建后的配置信息
ReadMe文件模板
ReadMe文件模板:当勾选该选项时,创建仓库后会自动生成一个ReadMe文件,ReadMe文件用于对该仓库的说明。自动生成的ReadMe文件有中英文两个版本
实际上,ReadMe文件就相当于一个使用说明书一样的东西!
成员管理
仓库成员管理:在仓库页面的右上方可以对仓库的成员进行管理!说明一个仓库是能进行多人开发的
如下为git手册中对成员身份的描述:
Issue文件
通过git对成员身份的描述可以发现,每一个成员都能创建一个名为Issue的东西
实际上Issue就是对该仓库中的某个事件进行描述的,比如说bug之类的!每一个人都能提交自己的Issue,并通知仓库管理员来解决
若在创建仓库时勾选了Issue模板文件,则新建Issue时如下:
新增Issue时有一些配置选项:
- 负责人:该问题你需要通知谁来解决!
- 标签:该Issue描述的是什么事件,可以填例如bug,duplicate...
- 分支:你描述的问题是在哪个分支下发现的
- .....
如下为创建好一个Issue时的样子:
当该问题被解决时,记得对Issue设置为已完成状态