在開發中,會經常碰到bug問題,那么有了bug就需要修復,在Git中,分支是很強大的,每個bug都可以通過一個臨時分支來修復,修復完成后,合并分支,然后將臨時的分支刪除掉。
比如我在開發中接到一個404 bug時候,我們可以創建一個404分支來修復它,但是,當前的dev分支上的工作還沒有提交。比如如下:

并不是我不想提交,而是工作進行到一半時候,我們還無法提交,比如我這個分支bug要2天完成,但是我issue-404 bug需要5個小時內完成。怎么辦呢?還好,Git還提供了一個stash功能,可以把當前工作現場 ”隱藏起來”,等以后恢復現場后繼續工作。如下:

所以現在我可以通過創建issue-404分支來修復bug了。
首先我們要確定在那個分支上修復bug,比如我現在是在主分支master上來修復的,現在我要在master分支上創建一個臨時分支,演示如下:

修復完成后,切換到master分支上,并完成合并,最后刪除issue-404分支。演示如下:

現在,我們回到dev分支上干活了。

工作區是干凈的,那么我們工作現場去哪里呢?我們可以使用命令 git stash list來查看下。如下:

工作現場還在,Git把stash內容存在某個地方了,但是需要恢復一下,可以使用如下2個方法:
1. git stash apply恢復,恢復后,stash內容并不刪除,你需要使用命令git stash drop來刪除。
2. 另一種方式是使用git stash pop,恢復的同時把stash內容也刪除了。
演示如下
