開發一個版本,采用的發布流程:
(1).從master的最新代碼拉取一個開發分支,在上面進行開發(這里假設開發分支為dev)
(2).在開發分支上不斷地進行提交版本,期間,master也會有因為其他版本上線而不停有版本合並
(3).要發布的時候,把master代碼重新合一遍到dev分支
(4).發布完成了,把dev的代碼合到master
1.什么是分支
分支是一個commit對象鏈:一條工作記錄線
git每一次提交版本,都會在該版本上存一個字段parent,記錄的是上一個提交的版本號,這樣就可以從一個提交的快照里拿到之前所有提交過的記錄
2.新建分支是如何操作的
先了解2個重要的概念——HEAD和master:HEAD指向的就是當前分支(某個時刻你所處的分支),master指向提交
(1)創建分支之前,HEAD指向master
(2)創建分支dev,HEAD指針指向dev
與svn不同的是,svn創建分支會把全部內容拷貝一份,git創建分支只會創建一個指針
(3)開發的過程中,如果我們提交了代碼,則指針情況是
(4)這個時候,假設master沒有新的內容,而你的版本要發布了,則不需要從master上合代碼到dev,發版完畢以后,要把dev分支的內容合到master,指針情況是
這種合並我們叫做fast-forward(快進,如果可能,合並分支git會使用這種模式,除非再合並時加上 --no-ff參數,這樣就會多出一個commit_id)
(5)在我們要發版的情況下,一般的情況是,master有新提交,我們自己也有提交在上面,所以,一般的示意圖是
(6)把master合到dev,准備發版(假設沒有沖突,有沖突先解決)
(7)發布完成,代碼從dev再合到master,見步驟(4)