【git之窗】(十七)線上問題如何拉取緊急分支
阿新 • • 發佈:2018-11-15
一、前提
通常使用git,都會在上線前把程式碼合併到master分支,在master上打好tag,由上線tag、回退tag確保上線正常。
例如:
上線tag: VINCENT_tag_V1.3.1
回滾tag: VINCENT_tag_V1.3.0
二、問題
如上所述,如果master上線的tag(VINCENT_tag_V1.3.1)在生產環境裡出了問題,我們除了對已上線tag通過回退tag(VINCENT_tag_V1.3.0)進行程式碼回滾之外,如果遇到如下幾種特殊情況:
1.master分支在此次上線之後,由有新的功能合併進來了。
2.此次上線修改的內容不止1個人的修改,上線內容非常多。
當滿足上述2種情況時,其實通過回滾tag來使生產環境不報錯,是不合適的。
條件1,一旦master回滾,會把別人剛合併進來的程式碼沖掉。
條件2,回滾之後,這次別人上線的內容也不在了,如果問題特別緊急,協調人力會比改程式碼費勁。
三、解決策略
在已經上線的tag基礎上,抽出一個分支:
舉例:
git branch vincent_branch_V6.6.6 VINCENT_tag_V1.3.1
即:
git branch (新的分支名稱) (線上問題tag號)
如上,即可避免2種問題情況,解決緊急的線上問題。
四、原理
原理就是紅框中的那道紅線。
That's all.