從技術上將,這意味著,Alice創建了一個Git的遠程節點,而對于Bob,該節點指向了Bob的版本庫,反之亦然。
主分支
在核心部分,研發模型很大程度上靠其他現有模型支撐的。中心庫有2個可一直延續的分支:
master分支
develop分支
每個Git用戶都要熟悉原始的master分支。與master分支并行的另一個分支,我們稱之為develop分支。
我們把原始庫/master庫認作為主分支,HEAD的源代碼存在于此版本中,并且隨時都是一個預備生產狀態。
輔助性分支
我們的開發模型使用了各種輔助性分支,這些分支與關鍵分支(master和develop)一起,用來支持團隊成員們并行開發,使得易于追蹤功能,協助生產發布環境準備,以及快速修復實時在線問題。與關鍵分支不同,這些分支總是有一個有限的生命期,因為他們終會被移除。
我們用到的分支類型包括:
功能分支
發布分支
熱修復分支
每一種分支有一個特定目的,并且受限于嚴格到規則,比如:可以用哪些分支作為源分支,哪些分支能作為合并目標。我們馬上將進行演練。
從技術角度來看,這些分支絕不是特殊分支。分支的類型基于我們使用的方法來進行分類。它們理所當然是普通的Git分支。
功能分支
可能是develop分支的分支版本,終必須合并到develop分支中。
分支命名規則:除了master、develop、release-*、orhotfix-*之外,其他命名均可。
功能分支(有時被稱為topic分支)通常為即將發布或者未來發布版開發新的功能。當新功能開始研發,包含該功能的發布版本在這個還是無法確定發布時間的。功能版本的實質是只要這個功能處于開發狀態它會存在,但是終會或合并到develop分支(確定將新功能添加到不久的發布版中)或取消(譬如一次令人失望的測試)。