一、主分支(master)
在初始化倉庫后,Git就默認創建了一個Master分支,我們把此分支做為主分支。
特點:
1)版本發布(正式版本),都是基于master分支來
2)當代碼合并到master分支,我們會創建一個tag(標識一個release),然后發布到線上
如圖:

二、開發分支(Develop)
特點:
1)主分支Master只用來發布重大版本,日常開發應該在另一條分支上完成
2)一般情況會為每個功能建立一個開發分支(比如A功能:A_Develop,B功能:B_Develop),如果開發團隊人員不多,一般就直接建立一個Develop分支。然后我們會基于這個Develop分支,建立幾個功能分支,開發完畢后,合并到Develop分支上
如圖1:

如圖2:

操作如下:
* 創建Develop分支并切換到該分支
$ git checkout -b develop master
* 開發完畢之后,將Develop分支合并到Master分支
//先提交Develop分支
$ git commit -a -m "develop commit"
//切換到Master分支
$ git checkout master
//將Develop分支合并到Master分支
$ git merge --no-ff develop
如圖:

三、臨時性分支
特點:
1、用于應對一些特定目的的版本開發
2、這些臨時性分支,使用完畢后,需要刪除
臨時性分支一般有以下三種:
1)功能性分支(feature),(比如一個具體的功能模塊或者活動頁面)
功能分支,是為了開發某種特定功能,從Develop分支上面分出來的。開發完成后,要再并入Develop。

案例:
功能分支的名字,可以采用feature-*的形式命名。
* 創建一個功能分支:
$ git checkout -b feature-x develop
開發完成后,將功能分支合并到Develop分支:
//先提交功能分支
$ git commit -a -m "feature-x commit"
//切換到Develop分支
$ git checkout develop
* 將功能分支合并到Develop分支
$ git merge --no-ff feature-x
* 刪除feature分支:
$ git branch -d feature-x
2 ) 預發布版本分支(release)
特點:
1)預發布分支,是指發布正式版本之前(即合并到Master分支之前),我們可能需要有一個預發布的版本進行測試。
2)預發布分支是從Develop分支上面分出來的,預發布結束以后,必須合并進Develop和Master分支。它的命名,可以采用release-*的形式。
3)測試基于這個預發布版本來測試 (前提是master分支沒有任何提交)
案例:
1、創建一個預發布分支:
$ git checkout -b release-1.2 develop
2、確認沒有問題后,合并到master分支:
//先提交預發布分支
$ git commit -a -m "release-1.2 commit"
//切換到Master分支
$ git checkout master
//將預發布分支合并到Master分支
$ git merge --no-ff release-1.2
//對合并生成的新節點,做一個標簽
$ git tag -a 1.2
* 再合并到develop分支:
//切換到Develop分支
$ git checkout develop
//將預發布分支合并到Develop分支
$ git merge --no-ff release-1.2
* 最后,刪除預發布分支:
$ git branch -d release-1.2
如圖:

3)修補bug
特點:
* 當軟件發布后,難免會出現各種bug
* 修補bug的分支,是基于master分支創建的
* 再合并進Master和Develop分支。它的命名,可以采用fixbug-*的形式
如圖:
* 創建一個bug分支
$ git checkout -b fixbug-0.1 master
修補結束后,合并到master分支:
//先提交修補bug分支
$ git commit -a -m "fixbug-0.1 commit"
* //切換到Master分支
$ git checkout master
//將修補bug分支合并到Master分支
$ git merge --no-ff fixbug-0.1
* 再合并到develop分支:
//切換到Develop分支
$ git checkout develop
//將修補bug分支合并到Develop分支
$ git merge --no-ff fixbug-0.1
* 最后,刪除"修補bug分支":
$ git branch -d fixbug-0.1
- 第一部分:Git的基本操作
- 第一章:git軟件的安裝
- 第一節:在centos6.8上安裝git-2.3
- 第二節:在windows上安裝git-bash和TortoiseGit軟件
- 第二章: Git的基本概念
- 第一節:git的基本操作
- 第二節:git的深入理解(內部運行機制)
- 第三章:git的文件管理
- 第一節:文件的添加及提交
- 第二節:文件的刪除、回退等
- 第三節:忽略指定格式的文件
- 第四節:撤銷本地倉庫的修改
- 第四章:git的commit對象深入理解
- 第一節:查看提交歷史(git log)
- 第二節:提交查找(git grep)
- 第三節:git版本庫回退
- 第五章: Git分支管理
- 第一節:分支的概念及基本使用
- 第二節:Git分支管理策略
- 第三節:Git分支合并
- 第四節:推送本地分支到遠程分支
- 第七章: Git常用命令詳解
- 第一節:git fetch命令
- 第二節:git pull命令
- 第三節:git push命令
- 第四節: git merge命令
- 第五節:git rebase命令
- 第八章:遠程倉庫管理
- 第二部分: gitlab版本控制系統
- 第一節:"遠程倉庫”版本回退解決方案
- 第二節:遠程分支和本地分支
- 第九章:Git沖突解決
- 第十章:客戶端操作
- 第十章:git常規操作
- 第一章:安裝gitlab服務器
- 第一節:在centos系統上安裝
- 第二章:配置GitLab服務器
- 第一節:關閉gitlab注冊功能
- 第二節:在gitlab上創建項目、組、用戶
- 第三節:漢化gitlab
- 第四節:gitlab配置郵箱通知
- 第五節:gitlab配置https訪問
- 第三章:使用過程常見的故障
- 第三部分: gogs版本控制系統
- 第一章:在centos6上基于二進制包安裝gogs軟件
- 第二章:gogs服務器的配置
- 第一節:gogs服務器上創建項目、用戶
- 第二節:nginx反代gogs,通過https
- 第三節:gogs啟動腳本
- 第四節:git保存密碼到本地
- 第三章:gogs服務器的備份和恢復
- 第一節:gogs備份操作