你們應該遇見過這樣的狀況,在一個分支上作一個開發任務,進行中時要求修改一個緊急bug。比較尷尬的是,代碼寫了部分修改比較多,不能提交,要修改的bug可能涉及到已修改的文件,而且要先提交。之前只能先將涉及的文件備份後revert,而後修改bug,最後只提交bug修復的代碼,再手動將備份代碼加回來。很不方便,而且容易出錯。git上有個stash命令適用該狀況git
二 操做app
1 在dev1分支上修改test.txt文件,增長內容aaaaaaaaaaa開發
2 test.txt當前內容以下:it
3 執行 git stash命令test
此時查看狀態,工做區沒有修改(修改被隱藏了)bug
4 此時再修改test.txt,增長內容bbbbbbbb,以下方法
此時狀態,apply
提交,文件
至關於bug修復的文件提交完成了。備份
5 恢復修改,兩種方法
(1)git stash apply恢復,但stash內容並不刪除,須要再使用git stash drop命令來刪除。可用 git stash list查看stash內容。
(2)使用git stash pop命令,恢復的同時把stash內容也刪除了。
我採用git stash pop命令
恢復後,打開test.txt,此時有衝突,
手動解決衝突,
最後提交