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

肉嘟嘟的程序媛
認(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 情景 3 —— 多重分身

   上一篇和大家講解了不用的時空之間來回穿梭,好了,這次我們講講關(guān)于不同時空中的你是如何產(chǎn)生關(guān)聯(lián)的。比如,當(dāng)前的你學(xué)會了做飯,如何將這個技能完完全全的復(fù)制給其他時空的“你”,瞬間讓他們學(xué)會做飯?且看以下分解。

   如上圖,現(xiàn)在又三個不同分身,分別是 master,A,B。他們各自學(xué)會的技能依次是:做飯,游泳,工作。示意圖如下。

   現(xiàn)在問題來了,我想讓 A 學(xué)會做飯和工作的技能,該怎么辦呢?有人肯定會說,可以讓他學(xué)呀。這就是程序員開發(fā)過程中最辛苦和最沒有價值的地方。相同功能的代碼反復(fù)的 copy 和移植,降低了咱們碼農(nóng)的創(chuàng)造力,浪費(fèi)大量的時間移植和適配不同版本的代碼。

   那么有沒有什么比較簡易的方法呢? 答案是肯定的。git 就給咱們提供了一個簡易的代碼 copy 的功能“ git merge ”。比如,我們再 A 分支上使用指令:git merge B。執(zhí)行完這條語句過后,A 就輕松獲得了 B 從 " 初始版本 -> 工作 " 過程中的全部經(jīng)歷。這就好比什么呢,A 當(dāng)時和 B 分家之后,A 切身實(shí)地的感受了一套 B 的人生經(jīng)歷。

   以上這種是一個比較簡單的情況,大家的技能不存在任何的交集。但是,如果 A 和 B 都學(xué)過游泳,但是他們的泳姿肯定會存在差異,這該怎么辦呢?這就是我們本章的重點(diǎn),差異項(xiàng)的合并取舍問題。這里有點(diǎn)抽象,咱們上“代碼”。

   這就類似于上面的初始版本:也就類似于一開始啥都不會,把你扔進(jìn)河里,你也會撲通的滑幾下,這就是本能行為。類似于下面的 breathing = 1.

A 在天生的基礎(chǔ)上進(jìn)行了矯正

B 剛好也在天生的基礎(chǔ)上進(jìn)行了矯正

   大家想想一下,如果有人讓你把 A 和 B 的兩套代碼合并到一起,首先你必須找到不一樣的地方,然后做些特殊的手段,讓他們可以執(zhí)行兩個流程。而且,實(shí)際的代碼不同的地方很多,難以真正的看清,太費(fèi)時費(fèi)力了。讓我們來看看 git merge 這么強(qiáng)大的指令是如何幫助我們實(shí)現(xiàn)以下的過程的。

這樣子,我們就把 B 從初始版本到現(xiàn)在的所有修改內(nèi)容全部同步到 A 的上面去了,我們來看看 A 上面的效果。

git 在合并的過程中發(fā)現(xiàn)了難題,因?yàn)樗恢肋@兩段該怎么取舍,因?yàn)?A 和 B 都對他們做出了獨(dú)特的修改。但是 git 很聰明,它不會的東西,它就把這些內(nèi)容標(biāo)記下來,留給你去取舍或則做出兼容。自此,大家就對 git 為什么需要這么多分身有了大概的了解了吧。

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