git stash 暫存當前修改


當我們在開發項目的時候,突然來一個變更需要修改,我們除了將當前項目提交(commit)后切換(checkout) 到其他分支外,我們還可以先將當前的修改暫存(stash)起來,然后再切換(checkout)到其他分支,而不需要提交(commit),這樣就可以減少一個 commit (雖然可以使用 git commit --amend 來修改最后一次提交 )。

 

暫存修改有兩種情況:

1、文件已經被 git 跟蹤,只是修改了代碼(而不是新條件文件),我們可以使用 git stash 或 git stash save "注釋" 來暫存修改。

2、如果有新添加的文件,那么就需要添加 -a 參數(如,git stash -a 或 git stash save -a "注釋"),或先 git add . 然后再使用 git stash 或 git stash save "注釋" 來暫存修改。

 

當完成了變更,在開啟項目,開啟項目某一個暫存可以使用 git stash apply stash@{id} ,stash@{id}里面的id默認從0開始,最近的暫存為0。如果開啟最近的一個暫存,則可以使用 git stash pop 或 git stash apply stash@{0} 來開啟。

就視覺效果來說,git stash pop 和 git stash apply stash@{0} 效果是一樣的,但是,在某些方面這兩個命令還是有所區別的,git stash pop 開啟某個修改暫存后,會在 stash list 里面將最近一次的修改暫存記錄刪除掉,而 git stash apply stash@{0} 則不會。

 

查看有多少個修改暫存,可以使用 git stash list 來查看 stash 列表。

 

我們也可刪除修改暫存,刪除某一個修改暫存,git stash drop stash@{id},如果需要清空所有的修改暫存,可以使用 git stash clear 命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM