git stash
它处于git reset --hard
(完全放弃还修改了一半的代码)与git commit
(提交代码)命令之间,很类似于“暂停”按钮。
上面命令会将所有已提交到暂存区,以及没有提交的修改,都进行内部保存,没有将工作区恢复到上一次commit的状态。
使用下面的命令,取回内部保存的变化,它会与当前工作区的代码合并。
$ git stash pop
git stash
命令可以运行多次,保存多个未提交的修改。这些修改以“先进后出”的stack结构保存。
git stash list
命令查看内部保存的多次修改。
上面命令假设曾经运行过命令三次。
$ git stash apply stash@{1}
上面命令不会自动删除取出的修改,需要手动删除。
git stash 子命令一览。
# 展示目前存在的stash
# 切换回stash
$ git stash pop
# 清除stash
$ git stash clear
参考链接
- Ryan Hodson,