git stash 相关命令

命令名 作用
git stash 隐藏当前的工作现场, 此时, git status的结果是 clean
git stash list 查看所有隐藏, 每一行的冒号前面的字符串就是标识此隐藏的id
git stash apply 重新显示标识为 id 的隐藏
git stash drop git apply恢复隐藏后, 需要手动删除 list 列表中的记录
git stash pop 恢复最新的进度到工作区
git stash pop stash@[stash_id] 恢复指定的进度到工作区
git stash 使用场景

有人与我改动同一分支

我在本地修改好后,发现远程分支已经被改动了,此时我本地也被改动了就造成了冲突,无法 

push
 或者 
pull

此时,就可以用 

git stash
 来处理

// 把本地的改动暂存起来
git stash 
// 拉取远程分支(此时本地分支会回滚到上次commit的情况,你的改动都存在stash中)
git pull  
// 将stash中改动重新加回本地分支,就可以继续修改了,当然,如果改好了就是add,commit,push
git stash pop 

不小心改动了其他分支

例如忘记切换,将代码写错了分支,直接在 

master
 分支上做改动,这里假设我的分支是 
feature/category_vechice
 分支。

// 把本地当前改动暂存起来,此时master分支就恢复到了上次拉取时的状态
git stash
// 切换到需要改动的分支
git checkout test
// 将改动pop到自己当前的分支
git stash pop

git status 

查看修改文件

git diff

查看改动

git stash save "版本做到一半,去修改原来版本的swagger"

提交修改内容

git status

再次查看修改的文件

git stash list

查看所有隐藏,

git add .

增加改动的所有文件

git status

再次查看是否暂存

git stash save "版本做到一半,去修改原来版本的swagger,新增两个新文件"

进行保存