最左邊的線不一定是當前分支,每條線的顏色和后面標簽顏色一致,從標簽名字和當前分支名比對看哪條線是當前分支。
最左邊線好像是最近一次提交所在的分支即哪個分支最后一次提交時間最近,就在最左邊。

小白點圓圈表示當前分支的最后一次提交。同時后面的提交注釋是粗體顯示。

dev分支落后master一個提交
遠端從master創建2個新分支test和release。

從第一行看出 master, origin/test, origin/release, origin/master, origin/HEAD都在同一個提交點。
切換到release分支看也是一樣。

在dev新建一個文件b.txt,未提交。

1附近的白圈表示當前工作所在點,2附近的白圈表示當前dev分支在遠端的提交點。
在dev分支提交並push到遠端。

dev分支和本地一致,但是比master, test, release等分支少了一個“commit a.txt to master”提交,同時比master,test,release多了一個”commit b.txt to dev”提交。
切換回master分支

Master, test, release分支最后一次提交在白圈位置,后面的“commit a.txt to master”也是粗體顯示。同時落后dev分支一個提交。
Master新建一個資源,不提交。

Master落后dev一個提交,且master本地有新的更改。
把dev合並到master,
會有2個提交“commit b.txt to dev”和“merge branch dev”,因此有2個需要push。

Master推送完成后

切換到release分支

黃色的線和黃色的標簽對應,表示當前release分支,release最后一次提交點在“commit a.txt to master”,因為release就是從這個提交點從master拉出來的。
紫色的線和紫色標簽origin/dev, dev對應,可以知道紫色是dev分支。藍色就是master分支,dev分支合並到了master上,但是還沒合並到release上。
合並master到release。

可以看到產生2個推送”commit b.txt to dev”和”merge branch dev”。
在dev分支上提交一個新文件“commit c.txt to dev”。然后切回master。

最左邊即藍顏色的是dev分支,紫色的是master分支,master落后dev一個提交。
切到release分支,

release落后dev一個分支,release和master在同一提交點。
在遠程release分支上拉一個fix分支,

圖中紅圈就是fix分支所在提交點。
同時dev上也提交代碼。

Dev合並到master。

Fix上修改代碼不提交。

可以看到fix分支上是沒有c.txt和d.txt的。
fix提交代碼。

Fix比master落后3個提交,但是比master有一個新提交。
切回到master

藍色是fix,紫色是master,黃色是dev。master和dev代碼是一樣的,比fix多3個提交,但是比fix少一個新提交。
合並fix到master

藍色是master,紫色是fix,黃色是dev。Master上新產生2個提交“commit e.txt fo fix”和“merge branch fix”。
master推送2個新提交。

藍色是master,此時master上的代碼是最全的了,因為紫色和黃色分支的代碼都合並到master上了。
切回到fix分支

藍色是master,紫色是fix,此時fix上代碼比master少3個提交,紅圈畫出來的。
fix上代碼缺少c.txt,d.txt。查看代碼得到驗證。
合並master到dev

黃色是dev,紅圈的5個提交不在dev上,因此有5個push。
只顯示當前分支可以少些線和提交。

線上的每個圓點都表示一個提交,同一行上只有1個點(提交)。
版本管理實踐(和上面講解的東西無關):
FeatureXXX具體功能開發分支,從develop分支拉,功能開發自測完后合並到develop分支。來不及上線的feature分支不要合並到develop。
develop開發分支,上面代碼都是已經開發完的代碼(包括已上線和正在測試的)。
Release分支:測試分支,從develop上fork進行測試,測試發現問題就在release分支上修改,測試通過release代碼合並到master分支發布和develop分支(如果有修改)。
master分支:發布分支,任何時候master上代碼都是能上線的,可以打tag。
fix分支:當上線后發現bug,在master上開一個fix分支進行修正,修正完后合並到master進行發布,同時fix也要合並到develop,(看情況決定是否合並到當前正在測試的release分支)。
ref:https://www.jianshu.com/p/0e64ad60899e