git(一)之版本控制系统

一、前言

git系列只是这段时间对git进行了一段的整理所提炼出来自己的认识,正好可以发到博客来共享一下。

首先git是一个版本控制系统,我们在当前使用最多的地方就是工作中对他在代码的版本控制的使用了。

二、正文

关于版本控制,Git在我们工作中的使用场景是对代码的版本控制。

当前版本控制主要分为两大类,以svn为代表的集中式版本控制,和以git为代表的分布式版本控制系统。

集中式是什么意思呢,就是代码的提交都只在一个确定的服务端即版本控制的库,所有人down下来代码之后做的修改最后都只能提交同步到远程单独的服务,如下图所示;

而分布式版本控制的git,对于我们每个执行clone远程仓库之后的文件夹,都是一个 单独的本地仓库,执行克隆后的本地仓库文件夹, 是与远程没有任何在文件以及目录结构的区别的,而且他们之间属于平行的关系,只是建立起的远程关系,如下图所示。

而我们如果使用git,git当前的工作方式可能会误导我们对这一块的理解,像是我们大家使用git都把代码提交至一个远程仓库,难道不是集中式吗?我们只是找了一个对于大家来说相对稳定的远程仓库,大家把自己的代码都相互同步更新到这个远程仓库而已。这个远程仓库只是给我们每个使用者提供的一个稳定的中间媒介而已。

其实如果我们团队只有两个人的话,极端情况可以不用远程仓库,两个人把对方的仓库当做同步的对象即可。希望大家能够这样理解。

分布式版本控制系统相较于集中式版本控制系统的优点:

1. 分布式可以在多个地方备份存储数据,由于每个clone(克隆)后的仓库都与远程毫无区别,因此,一个出问题了,另外的可以补;

2. 而且可以在不用联网的情况下,使用自己本地的仓库提交代码,等到有网络环境时再同步

三、结语

作为版本控制的系统,虽然我们当前仅仅把它作为代码的管理工具(虽然也是最搭的使用场景),但他的适用场景有太多太多了,比如我们的毕业论文,我们的述职报告,我们的年度总结,我们的日记本,甚至可以当做一个云盘来使用,正好现在github已经开放了私人仓库,这些都能更好的使用了。

这一块是对版本控制系统的初步的概述。

posted @ 2019-04-24 22:18  呼呼虎  阅读(61)  评论(0)    收藏  举报