使用git stash储存和恢复进度

当我们正在当前项目处理一些事情时,有一个需求插进来,使得我们要在别的分支做一些工作。切换分支之前当前任务是需要保存的,但我们并没有完成一个完整的任务,直接commit显得不合适,这时就可以使用git stash命令。stash是储藏的意思,该命令的作用也可以理解为先将当前的修改储藏起来,等我们在其他分支做完必要工作之后可以再回到储藏时的状态。

git stash大致可以分为储存和恢复这两步。

储存

储藏当前进度有两条命令:

git stash

保存当前工作进度,会把暂存区和工作区的改动都保存起来,再次运行git status会发现当前工作区是干净的。

git stash save "commit message"

git stash的完整描述,可以为本次保存添加说明。

恢复

git stash list

查看当前保存进度,进度保存可以有多个。

git stash apply

恢复最近保存的进度,不会删除stash内容

git stash apply stash@{0}

如果有多个stash,恢复某一个,按时间倒叙排列

git stash pop

会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除。

git stash drop [stash_id]

删除某一个存储的进度

git stash clear #删除所有储存进度

删除所有存储进度