GIT 如何在不提交Commit的狀況下切換分支

最近遇到一個問題,事情是這樣子的,剛剛接到客戶說他的項目有問題,因而就打開本地的源碼查看通過排查肯定了問題,因而就開始進行修正工做
將問題修復好準備提交到git的時候發現當前的分支是不對的,但問題是我已經在當前分支了做了大量修改,若是要切換分支則必須先要將修改過的文件先提交
那麼如今問題來了:如何在不提交commit的狀況下來切換分支呢?
最後經過查看Pro Git文檔瞭解到Git中有一個stash功能能夠實現

6.3 儲藏(Stashing)

常常有這樣的事情發生,當你正在進行項目中某一部分的工做,裏面的東西處於一個比較雜亂的狀態,而你想轉到其餘分支上進行一些工做。問題是,你不想提交進行了一半的工做,不然之後你沒法回到這個工做點。解決這個問題的辦法就是git stash命令。html

「‘儲藏」「能夠獲取你工做目錄的中間狀態——也就是你修改過的被追蹤的文件和暫存的變動——並將它保存到一個未完結變動的堆棧中,隨時能夠從新應用。git

 由於以前沒有使用過此功能,特地作了個測試
 
先 先在test分支修改了test2.txt文件
修改完成後發現該修改不該該在test分支了因而將全部的更改先儲藏(stash)起來
而後切換到相應的分支(新建了test2分支)並從stash中取出以前的修改
而後再test2分支中commit全部的修改
由於儲藏會產生兩個分支記錄,因此提交歷史看起來亂七八糟的,因此將以前的儲藏分支刪除(刪除後乾淨多好)
完成,合併分支等操做

使用了stash的分支圖
刪除stash後的提交歷史
 
參考:



相關文章
相關標籤/搜索