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} 已经被删除了。

posted @ 2017-11-14 12:59  日含  阅读(240)  评论(0编辑  收藏  举报