91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

肉嘟嘟的程序媛
認證:普通會員
所在專題目錄 查看專題
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
成為第一個和作者交流的人吧
主站蜘蛛池模板: 登封市| 本溪| 财经| 读书| 红安县| 贡觉县| 忻城县| 包头市| 临沂市| 九龙坡区| 南城县| 济南市| 衡阳市| 青神县| 宜川县| 乐陵市| 揭阳市| 白山市| 锡林浩特市| 称多县| 南阳市| 新源县| 邵阳县| 教育| 南昌县| 象州县| 新邵县| 庆城县| 麦盖提县| 利津县| 项城市| 增城市| 左贡县| 淮滨县| 伊春市| 岐山县| 奇台县| 历史| 安国市| 凉山| 汾西县|