1. 程式人生 > >【git之窗】(十七)線上問題如何拉取緊急分支

【git之窗】(十七)線上問題如何拉取緊急分支

一、前提

      通常使用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.