iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0
自我挑戰組

學習 Android Kotlin 隨筆系列 第 21

[ Day 21 ] 據說猴子都懂 Git !(二)基本介紹

  • 分享至 

  • xImage
  •  

前言

在前一篇知道了一些基本的git在新增版本的用法,這篇將會延續上一篇的細節,來探討如何在這些版本上進行轉換。

Git

  • checkout

    透過 git log 可以隨時查看歷史過去的紀錄,一些版本都會清楚的寫在裡面(要是當時的你有認真寫的話XD),之前有個老師也提醒了我們,雖然程式是自己寫,但其實寫給三個人看的,分別是過去、現在還有外來,表示過去的你如果紀錄的越詳細,讓之後回來看就會越輕鬆唷!
    那如果目前最新的版本,發現了新功能有一些問題,但是假設這個產品不能說停就停!不然會造成使用者很大的不便,該怎麼辦?因為現在這個最新版本的新功能有 bug,那就可以回到過去還沒有開發出新功能的時期,那個時期是穩定版的,也不會中斷使用者使用產品的情形,如下圖

    • git log

    最上面是最新的版本 2b46760,假如我發現在這個版本出了點問題,那麼可以回到上一個穩定的版本(假如是 e6fef45),那就打上 git checkout e6fef45,就會過去囉!

  • branch

    在多人開發同個程式時,可能會有人負責新增 A 功能,有人負責新增 B 功能,那這時候可以使用 branch。branch 就是將原本的 code 複製一份到新的分支上面,在上面進行操作,以上為例就可以開出兩個 branch 名為 functionA 以及 functionB,當 A 整個功能開發完並且測試完成之後,再把它並回去原本的檔案,這個過程叫做 merge

    上圖就是在 C6 的版本,新增了一個 branch iss53 出來,在這個 branch 上面的操作就不會影響到原本 master branch 囉!之後開發好了在 merge 回去,生出了一個新的版本叫做 C2。
    因為合併回去的時候,有可能改的地方跟原本的分枝會產生衝突(conflict),這時候就要解衝突

    • conflict

      會有衝突,是因為我新的分支改的部分,在原本的分支也被改成另外的功能了,這時後就要請兩邊改功能的工程師出來調解一下,到底該採納誰的意見比較好,這個部分有時候蠻麻煩的,所以在切割功能的時候能夠越清楚,越不容易有衝突產生喔!


上一篇
[ Day 20 ] 據說猴子都懂 Git !(一)基本介紹
下一篇
[ Day 22 ] 據說猴子都懂 Git !(三)基本介紹
系列文
學習 Android Kotlin 隨筆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言