暂存工作区现场 git stash
场景:工作到一半突然插入其他的事情,此时又不想提交手头的工作变更,可以选用 git stash
1. 暂存当前工作区的修改
- git stash
$ git stash Saved working directory and index state WIP on dev: 6224937 add merge HEAD is now at 6224937 add merge
2. 切换到别的分支完成插入的事情
3. 切换回之前工作的的分支
查看暂存的列表
- git stash list
$ git stash list
stash@{0}: WIP on dev: 6224937 add merge
恢复暂存的内容
两种姿势:
用
git stash apply恢复; 但是恢复后,stash 内容并不删除; 你需要用git stash drop来删除;用
git stash pop恢复的同时把 stash 内容也删了:
多次 stash 时恢复
可以多次 git stash,stash 可以看做是一个「栈」 先用 git stash list 查看,然后恢复指定的stash,例如上面的 stash@{0}
git stash apply stash@{0}
删除暂存操作
git stash drop
- 删除最新的一个暂存
git stash drop - 刪除特定的暂存
git stash drop stash_ID
删除所有的暂存
git stash clear