Skip to content

git stash

L edited this page Jun 6, 2019 · 4 revisions

应用场景

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"

参考资料

git-stash用法小结

Clone this wiki locally