性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

肉嘟嘟的程序媛
認(rèn)證:普通會員
所在專題目錄 查看專題
git 版本管理 —— 使用場景以及入門
git 情景 1 —— 封存歷史,探索代碼的前世今生
git 情景 2 —— 時空穿梭
git 情景 3 —— 多重分身
git 情景 4 —— 永世不滅
作者動態(tài) 更多
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 個平行空間。而我們生活的宇宙屬于當(dāng)前空間的一份子。隨著時間的推移,我們的宇宙從第一個元素誕生慢慢衍生到了現(xiàn)在的的科技社會。這個過程就類似于我們一個型號的代碼,在不斷的迭代,增加功能。多個平行空間是獨立的,它們擁有各自不同的發(fā)展命運,但是它們都是基于一個起點。舉個和咱們程序開發(fā)相關(guān)的例子。

   如圖所示,我們公司開發(fā)了一款萬能遙控器,一經(jīng)推出得到了很好的口碑。就這樣,迎來了大量的客戶。這是后客戶 A 說,你們的遙控器必須有我們的按鍵燈光效果??蛻?B 又說,我要它能自己飛到我手上。但是他們都是在原始的功能上增加了這些特有的功能。這樣子,我們就可以給他們分別創(chuàng)造一個空間,來迭代和修改。這樣三種版本的代碼不會產(chǎn)生影響。具體如何操作呢? 

首先我們肯定有一個最新版本的代碼:萬能遙控器基礎(chǔ)功能。

這時候顧客 A 想要在這個基礎(chǔ)上增加燈光的功能了。我們就需要動用 git 的創(chuàng)建新空間的咒語了:git checkout -b xxx。如下圖,就創(chuàng)建了一個 customerA 的平行宇宙出來了。它就是從“萬能遙控基礎(chǔ)功能”衍生出來的。

   那怎么查看我們?nèi)康钠叫锌臻g呢?通過 git branch。下面出現(xiàn)的 master 和 customerA 就是我們當(dāng)前具備的平行宇宙。為什么有一個叫 master 呢?那就是 git 誕生初期規(guī)定的。第一個宇宙就叫 master。* 說明了我們當(dāng)前身處哪一個平行宇宙。(當(dāng)前為:customerA)

   那我們看一下,customerA 中有些什么吧。如果猜的不錯,應(yīng)該和 master 中的一樣,只包含了一個 “萬能遙控器基礎(chǔ)功能”??吹较聢D,果不其然。

   比如此時我們按照 A 客戶的需求做好了 “增加燈光效果”的功能。那么保存之后就是這個樣子的。

好了,我們功能測完之后,這個版本就可以不用動了,于是我們就轉(zhuǎn)戰(zhàn)原始的 master 平行空間去開發(fā)公司新的需求和功能了。我們只需要執(zhí)行 git checkout xxx 就能切換到指定的平行空間了.

同理我們想在 master 的基準(zhǔn)原點再創(chuàng)建一個 customerB 的平行空間,增加代碼功能“會飛”?;竞?customerA 的操作一致,不在贅述。直接上截圖。

最終的效果就是下面這樣子。三個版本之間互不干擾。齊頭并進。想要開發(fā)哪個版本就切換到指定的平行空間就可以了。

不同空間能不能融合呢?答案是肯定的,下一節(jié),咱們聊聊空間融合的細節(jié)。

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 5
收藏 4
關(guān)注 54
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧