37-git-32-stash

概述

git stash命令用于暂时保存没有提交的工作。运行该命令后,所有没有commit的代码,都会暂时从工作区移除,回到上次commit时的状态。

命令

新增暂存

暂时保存没有提交的工作

git stash

查看暂存

查看暂存列表

git stash list
---
stash@{0}: WIP on workbranch: 56cd5d4 Revert "update old files"
stash@{1}: WIP on project1: 1dd87ea commit "fix typos and grammar"

展示目前存在的stash

git stash show -p

恢复暂存

需手动删除

恢复stash 列表的第一条stash 的内容,即最近的一次暂存,不会自动删除取出的修改

git stash apply stash@{0}

取出指定某一次的修改,不会自动删除取出的修改

git stash apply stash@{[number]}
git stash apply stash@{1}

自动删除

恢复stash 列表的第一条stash 的内容并自动删除

git stash pop stash@{0}

取出最近一次的修改并自动删除,作用同上,书写更简便

git stash pop

删除暂存

删除stash 列表的第一条stash 的内容

git stash drop stash@{0}

清空stash 列表

git stash clear