stash
stash 可以把当前的修改储存起来。当你修改了某个分支但是没有提交,然后跳转到其他分支的时候,你会发现你的所有修改被一同带过去了。如果你的工作没有完成不想提交,又想跳到其他分支做一些工作,这时候就需要使用stash把你的修改先存储起来。
修改了 README.md 文件时,又不想提交,使用 git stash
后,显示如下:
git$ git stash
Saved working directory and index state WIP on dev: d69de95 stash1
现在可以使用 git stash list
来查看有哪些被存储内容
git$ git stash list
stash@{0}: WIP on dev: d69de95 stash1
然后就可以切换到其他分支进行操作了,之后可以再回到当前分支,使用 git stash pop
读取最后一次存储的内容,也可以使用 git stash apply stash@{0}
后再使用 git stash drop stash@{0}
将存储内容删除
git$ git stash pop
On branch dev
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (cb09c0369903e1d6e0fcb20eae3dfd68765fad8a)
可以看到,修改的状态已经恢复了,而且 stash@{0} 已经被删除了。