使用git协同开发工具的同学应该都知道,在开发过程中我们需要经常切换分支,例如正在某一个分支下做需求时候,在该需求还未完成时就需要在另外一个分支下进行问题的修改,如果直接checkout切换分支会有冲突,会导致切换不成功,但是又不想将当前的做的修改复原,于是想到将当前的改动暂时保存下来,然后切换到另外一个分支去修改问题,当问题修改完成了之后将分支切换回来,然后再将之前保存的改动释放即可继续对需求进行开发了。

存储当前分支下的所有改动

git stash -m "暂存"

[git] git stash_协同开发

查看所有的存储列表(git stash list )

[git] git stash_出栈_02


如上图所示,stash@{0}和stash@{1}分别是两次保存的修改,stash@{0}是最新的一次提交。

释放最近一次保存的内容,并且将该次保存的内容出栈(即将栈顶出栈,释放最近一次保存的内容后将该次保存内容删除)(git stash pop)

[git] git stash_github_03


如上图所示,将最近一次存储释放之后,使用git stash list 查看存储列表,已经由原来的两条存储变成了一条。


参考:

git 中stash的实用方法