Git常用命令之stash簡單使用


需求場景:兩個分支branch new 和 branch old 一老的一新的兩個分支。
在new分支開發一部分 突然中途插入 old分支要做一些功能修復 直接切換分支會導致new分支所做修改 被帶入打開的old分支。

---我們想要的效果:
1:new 分支的修改不帶入old分支

2:old分支處理完成后還可以切回new分支繼續進行開發任務

方案一:直接將new分支的修改commit后切換到old分支即可(這種方式更適用與小階段性開發完畢情況)

方案二:使用git stash命令。(適用於開發一半,中途切換)

用法一:
在new分支下 使用git stash這樣會將 new分支的修改暫存起來 但是沒有保存修改信息 如果有多條stash則難以區分

用法二:
在new分支下:使用git stash save "message信息" 暫存new分支修改的同時 自己可以添加這次暫存修改的備注


------查看 當前分支有多少stash暫存列表
git stash list

----在有暫存的情況下,取出最近一次的暫存修改 以在本次修改的基礎上繼續工作
git stash pop ---這種方式會在取出最近一次暫存修改后刪除 stash
或者
git stash apply stash@{0}--這種方式在取出最近一次暫存后不會刪除該暫存。

----在有多個暫存的情況下,取出歷史某一個暫存的修改 以在那次修改的基礎上繼續工作
git stash apply stash@{x} 注:x為 git stash list 查到的,x為0時為最近一次的修改暫存。

----在兩個暫存之間 切換工作 注意要rollback后再取出,否則會報錯,導致暫存取出失敗。
報錯示例
(error: Your local changes to the following files would be overwritten by merge:
cib-cls/src/main/resources/application-dev.yaml
Please commit your changes or stash them before you merge.
Aborting)

---清除所有的git stash
git stash clear


免責聲明!

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



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