Posts match “ merge ” tag:

∞ 前言 ∞

前一篇已經說了 git 該如何開始,接下來就是較為進階一點,關於 branch(分支) 的用法
在說明 branch 之前,這裡提供一個 git 的入門教學,除了看我的文章外也能跟著做,了解的會更快

try git

Branch(分支)

當我們在使用 git 的時候,一開始會有個預設為 master 的主要 branch (分支)
沒有做特別的控制的話,我們整個的軟體開發都會在這條 master 主分支上
但是這會發生問題

當我們 code 寫錯或發生某種錯誤的時候,會想要回到前一個好的版本,或是好的功能,或是其他穩定的部分
但這時我們的選擇只有這條 master 上的所有記錄
如果穩定版本與欲回溯的版本之間是錯誤的發生點,那我們究竟該回到穩定的版本?還是回到錯誤發生點後已經在開發中的版本呢?

舉個例子來說
穩定的版本是 v1.0
功能開發中, code 也已經寫很大量的版本是 v1.5
問題發生點,而造成必須大改, code 卻只寫很少的版本是 v1.1

此時我們為了穩定的版本只能回到 v1.0,但此時就等於放棄了已開發許多的版本與 code
如果為了已經開發很多而不想重寫,只回到 v1.5,那之後的惡性循環會越來越慘
我相信寫了一段時間的 Developer 一定有過類似的經驗

當然我這邊舉的例子是最極端的,或許不會這麼慘,但也不會好到哪去
所以我們在開發新功能時,可以切出一個專門開發新功能的 branch (分支),所有的 code 的維護都在這條分支上
如果這個功能又細分出其他部分,還可以以這條 branch 為主,再開新的一條分支,將大量的 code 盡可能細分分散

簡單來說,就是『分散風險原則』,我想這個詞彙最能表達出 branch 的概念了吧

Continue Reading →