在Git中,stash命令是最常用的命令之一。它可以在你提交之前,暂时地保存你的工作现场,并将其记录在Git的堆栈中。当你再次回来完成该工作时,你可以简单地弹出该堆栈,并重新开始未完成的工作。
该命令将当前未提交的修改保存进堆栈。
$ git stash
该命令查看堆栈中所有的stash列表。
$ git stash list
该命令查看stash堆栈中的某一项的修改,这里stash@{x}对应于stash列表里的项,x可取的0、1、2、等等。加上-p选项表示查看修改的文件内容。
$ git stash show stash@{x} -p
该命令将删除Git stash堆栈中的最近一项,并将其应用到工作树中。如果在当前分支中没有未解决的冲突,该堆栈将被完全删除。如果有冲突,你需要解决冲突并提交变更,然后才能完全删除该堆栈。
$ git stash pop
该命令将删除Git stash堆栈中的最近一项,并不将其应用到工作树中。如果你要删除堆栈中的特定存储项x,可以运行下面的命令。
$ git stash drop stash@{x}
该命令将清除整个Git stash堆栈,非常实用的是在你需要开展新的任务或完成工作时使用。使用该命令时,请注意,该堆栈中的所有项都将被永久删除。
$ git stash clear