肉嘟嘟的程序媛
认证:普通会员
所在专题目录 查看专题
git 版本管理 —— 使用场景以及入门
git 情景 1 —— 封存历史,探索代码的前世今生
git 情景 2 —— 时空穿梭
git 情景 3 —— 多重分身
git 情景 4 —— 永世不灭
作者动态 更多
git 情景 4 —— 永世不灭
2021-12-16 22:14
git 情景 3 —— 多重分身
2021-08-06 17:28
git 情景 2 —— 时空穿梭
2021-06-08 01:20
git 情景 1 —— 封存历史,探索代码的前世今生
2021-05-13 21:11
git 版本管理 —— 使用场景以及入门
2021-05-11 13:12

git 情景 2 —— 时空穿梭

   在 git 里面做版本管理,真的像是在打游戏似的,有种时空穿梭的感觉。请注意,不仅仅是只有时间上面的穿梭,还顺带着可以穿越空间维度,畅游代码版本的平行宇宙。

   为了让大家更好的了解 git 平行宇宙,先来张略微震撼的示意图。

   先解释一下这张图。

   宇宙在爆炸初期分裂了 N 个平行空间。而我们生活的宇宙属于当前空间的一份子。随着时间的推移,我们的宇宙从第一个元素诞生慢慢衍生到了现在的的科技社会。这个过程就类似于我们一个型号的代码,在不断的迭代,增加功能。多个平行空间是独立的,它们拥有各自不同的发展命运,但是它们都是基于一个起点。举个和咱们程序开发相关的例子。

   如图所示,我们公司开发了一款万能遥控器,一经推出得到了很好的口碑。就这样,迎来了大量的客户。这是后客户 A 说,你们的遥控器必须有我们的按键灯光效果。客户 B 又说,我要它能自己飞到我手上。但是他们都是在原始的功能上增加了这些特有的功能。这样子,我们就可以给他们分别创造一个空间,来迭代和修改。这样三种版本的代码不会产生影响。具体如何操作呢? 

首先我们肯定有一个最新版本的代码:万能遥控器基础功能。

这时候顾客 A 想要在这个基础上增加灯光的功能了。我们就需要动用 git 的创建新空间的咒语了:git checkout -b xxx。如下图,就创建了一个 customerA 的平行宇宙出来了。它就是从“万能遥控基础功能”衍生出来的。

   那怎么查看我们全部的平行空间呢?通过 git branch。下面出现的 master 和 customerA 就是我们当前具备的平行宇宙。为什么有一个叫 master 呢?那就是 git 诞生初期规定的。第一个宇宙就叫 master。* 说明了我们当前身处哪一个平行宇宙。(当前为:customerA)

   那我们看一下,customerA 中有些什么吧。如果猜的不错,应该和 master 中的一样,只包含了一个 “万能遥控器基础功能”。看到下图,果不其然。

   比如此时我们按照 A 客户的需求做好了 “增加灯光效果”的功能。那么保存之后就是这个样子的。

好了,我们功能测完之后,这个版本就可以不用动了,于是我们就转战原始的 master 平行空间去开发公司新的需求和功能了。我们只需要执行 git checkout xxx 就能切换到指定的平行空间了.

同理我们想在 master 的基准原点再创建一个 customerB 的平行空间,增加代码功能“会飞”。基本和 customerA 的操作一致,不在赘述。直接上截图。

最终的效果就是下面这样子。三个版本之间互不干扰。齐头并进。想要开发哪个版本就切换到指定的平行空间就可以了。

不同空间能不能融合呢?答案是肯定的,下一节,咱们聊聊空间融合的细节。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 5
收藏 4
关注 54
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧