stash命令
假设我们正在分支dev
上工作,干着干着突然被要求在master
分支上解决一个问题。但是此时我们在dev
上的工作还没完成,没法commit到本地版本库,如果所以我们现在应该怎么做呢?
这就需要stash
出场了——stash
可以把当前dev
的工作现场保存起来,等到解决完master
分支上的问题后,在回到dev
分支恢复现场。此时会涉及到以下和stash相关的指令——
git stash
:将工作现场储藏起来(使用该命令后工作区就被清空了)。git stash list
:查看被储藏起来的内容。git stash pop
:将最近保存的工作现场恢复。
当然我们可以多次用stash
将工作区的修改储藏起来,如果想要恢复指定的一次,则先使用git stash list
查看暂存记录找到对应的id,然后使用git stash apply stash@{<id>}
恢复。
需要注意的是,git stash apply
不会把stash中的内容删除,若要删除还需要git stash drop stash@{<id>}
。换句话说,一条git stash pop
指令相当于git stash apply
和git stash drop
这两条指令