git stash 隐藏当前工作现场提交
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 popgit status
查看修改文件
git diff
查看改动
git stash save "版本做到一半,去修改原来版本的swagger"
提交修改内容
git status
再次查看修改的文件
git stash list
查看所有隐藏,
git add .
增加改动的所有文件
git status
再次查看是否暂存
git stash save "版本做到一半,去修改原来版本的swagger,新增两个新文件"
进行保存