使用场景
当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。 储藏(stash)可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
用法
储存修改
git stash 储存当前修改(包括暂存的和非暂存的)
stash操作只在本地发生,并不会随着push操作上传至云端
PS:建议每次本地暂存的时候加上备注👇
用
git stash save
取代git stash
git stash save "test-cmd-stash"
查看所有本地暂存修改
git stash list
恢复修改
恢复并删除本地备份:git stash pop
将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下
恢复不删除本地备份:git stash apply
将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝。
可以指定恢复某个名称的修改,只需要在后面加上名称即可
移除修改
移除单个修改:git stash drop <修改名>
默认是移除第一个
清空所有修改:git stash clear
查看stash的diff
git stash show <修改名>
从stash创建分支
git stash brach <分支名>