git stash - zLulus/My_Note GitHub Wiki
应用场景
1.发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交,用stash暂存
2.在当前分支写新功能写了一部分,需要在当前分支紧急修复bug并提交
stash新功能的代码-修复bug-提交-stash apply新功能代码
3.在当前分支写新功能,需要切换到其他分支完成其他工作,但不想脏提交
stash新功能的代码-切换分支完成工作-切换回当前分支-stash apply新功能代码
使用
添加提交到stash
git stash
或者添加一些信息
git stash save "your-message"
恢复缓存的工作目录
将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下
git stash pop
将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝
git stash apply
查看现有stash
git stash list
显示结果
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log
移除stash
git stash drop "stashName"
stashName:stash@{0}
查看指定stash的diff
git stash show "stashName"