Git stash 保存进度
git stash
用来保存当前的工作目录和暂存区状态,并返回到干净的干工作空间,什么意思呢?举个例子
假如当你正在某一个分支上忘我的书写你优美的代码时,有小伙伴让你帮忙看一下其他分支上的某个问题,而你的代码才写了一半又不想上传到远端,又不能丢弃,那就可以选择将当前所有修改暂存起来。
如下我在工作区添加了文件 A6.txt
首先执行:git add .
将所有修改添加
然后执行: git stash save “A6.txt” 命令中的 “A6.txt” 是注释,方便以后查看
此时在看工作区
工作区已经没有 A6.txt 了,A6.txt 已经被保存起来了,并且工作区已经清理干净了,也就是还原到没有修改之前的状态了
此时就可以放心的添加新的文件或者切换到别的分支做别的工作了
我刚才 将 A6.txt 的修改保存了,我在当前的工作区有添加了 A7.txt,再次执行 stash 保存
然后有添加了 A8.txt 再次执行 stash 保存
此时我想查看我保存的所有进度,执行命令:git stash list
可以看到总共有三个栈数据,先保存的 “A6.txt” 在栈底,最后进来的在栈顶
现在我想把 A7.txt 的修改恢复到工作区,可以看到 “A7.txt” 的保存是在 index = 1 的位置
执行:git stash apply stash@{1}
删除某一条保存的记录
执行:git stash apply stash@{1}
恢复保存记录也可以执行 : git stash pop
恢复 stash@{0}
git stash pop
= git stash apply stash@{0}
+ git stash apply stash@{1}
即恢复第0 个并且删除
也可以使用 git stash pop stash@{1}
指定恢复那一条保存并且删除