1. 程式人生 > >Git 學習筆記 - 14 - Bug分支

Git 學習筆記 - 14 - Bug分支

Git 學習筆記 - 14 - Bug分支

注:本文參照的是廖雪峰老師的Git教程

概述:

在開發中,很多時候我們還沒有開發完一個專案,此時之前開發出現了Bug,這時就需要我們去進行修復,在 Git 中,每個bug都可以通過一個新的臨時分支來修復,修復後,合併分支,然後將臨時分支刪除。

當你接到一個修復一個代號101的bug的任務時,很自然地,你想建立一個分支issue-101來修復它,但是,等等,當前正在dev上進行的工作還沒有提交。此時需要用到其它操作命令來儲存當前的工作現場,待修復了Bug之後,再恢復之前的工作。

操作:(之前的命令不在重複編寫,見圖片)

  1. 檢視當前狀態,發現存在修改。

  2. 儲存當前的工作現場。等之後修復完Bug後在恢復。

    git stash
    
  3. 檢視儲存後的現場,發現工作區已經乾淨了。

  4. 確定要在哪個分支上修復bug,假定需要在master分支上修復,就從master建立臨時分支。

  5. 在臨時分支上修復Bug

    假設修復:需要把“Git is free software …”改為“Git is a free software …”,然後提交。

  6. 修復完成後,切換到master分支,並完成合並,最後刪除issue-101分支

  7. 此時我們回到dev分支上

  8. 查詢dev的狀態,發現之前的修改不見了,

  9. 使用 git stash list

    命令檢視當前儲存的狀態,發現之前儲存的工作現場

  10. 恢復之前的工作現場。

    恢復有兩個辦法:

    一是用git stash apply恢復,但是恢復後,stash內容並不刪除,你需要用git stash drop來刪除;

    另一種方式是用git stash pop,恢復的同時把stash內容也刪了。

    這裡使用的是 pop方法,畢竟是練習,沒那麼多講究。

  11. 再次檢視發現之前的工作現場不見了。

    修復Bug新建分支

注:可以使用多次 git stash來儲存多個現場,在恢復的時候,先使用git stash list檢視,然後恢復指定的stash,用命令:

$ git stash apply [email protected]
{0}

總結:

修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;

當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop,回到工作現場。