Git 最顯著的優點之一:版本的分支(branch)和合併(merge)
1.主分支Master
- 代碼庫應該有一個、且僅有一個主分支
- 所有提供給用戶使用的正式版本,都在這個主分支上發布
- Git主分支的名字,默認叫做Master, 是自動建立的,版本庫初始化以後,默認就是在主分支在進行開發
2.開發分支Develop
- 主分支: 用來分布重大版本
- 開發( Develop ): 在另一條分支上完成
- 這個分支可以用來生成代碼的最新隔夜版本(nightly)
- 如果想正式對外發布,就在Master分支上,對Develop分支進行"合併"(merge)
# 創建 Develop 分支
$ git checkout -b develop master
將 Develop 分支發布到 Master 分支
# 切換到Master分支
$ git checkout master
# 對Develop分支進行合併
$ git merge --no-ff develop
- :white_check_mark: 默認情況下,Git執行"快進式合併"(fast-farward merge),會直接將Master分支指向Develop分支
- :white_check_mark: 使用--no-ff參數後,會執行正常合併,在Master分支上生成一個新節點
3.臨時性分支
1* 主(Master)分支
2* 開發(Develop)分支
3* 功能(feature)分支
4* 預發布(release)分支
5* 修補bug(fixbug)分支
4.功能分支
- 第一種是功能分支,它是為了開發某種特定功能,從Develop分支上面分出來的。開發完成後,要再併入Develop
命名形式: feature-*
1# 創建一個功能分支
2$ git checkout -b feature-x develop
3
4# 將功能分支合併到develop分支
5$ git checkout develop
6
7$ git merge --no-ff feature-x
8
9# 刪除feature分支
10$ git branch -d feature-x
5.預覽分支
- 第二種是預發布分支,在發布正式版本之前(即合併到Master分支之前),對預發布的版本進行測試
- 預發布分支是從Develop分支上面分出來的,預發布結束以後,必須合併進Develop和Master分支
1# 創建一個預發布分支
2$ git checkout -b release-1.2 develop
3
4# 合併到 master 分支
5$ git checkout master
6$ git merge --no-ff release-1.2
7
8# 對合併生成的新節點,做一個標籤
9$ git tag -a 1.2
10
11# 再合併到develop分支
12$ git checkout develop
13$ git merge --no-ff release-1.2
14
15# 刪除預發布分支
16$ git branch -d release-1.2
6.修補分支
- 最後一種是修補bug分支
- 軟體正式發布以後,難免會出現bug。要創建一個分支,進行bug修補
- 修補bug分支是從Master分支上面分出來的
- 修補結束以後,再合併進Master和Develop分支
- 它的命名,可以採用fixbug-*的形式
1# 創建一個修補bug分支文章來源: https://twgreatdaily.com/zh-tw/E8G9em4BMH2_cNUgDwje.html
2$ git checkout -b fixbug-0.1 master
3
4# 修補結束後,合併到master分支
5$ git checkout master
6$ git merge --no-ff fixbug-0.1
7$ git tag -a 0.1.1
8
9# 再合併到develop分支
10$ git checkout develop
11$ git merge --no-ff fixbug-0.1
12
13# 最後,刪除"修補bug分支"
14$ git branch -d fixbug-0.1