git stash是git的一个命令,用于临时保存当前的工作进度,以便可以切换到其他分支上工作。它可以将未提交的修改保存为一个堆栈中的状态,随时可以重新应用。
使用git stash命令可以执行以下操作:
保存当前工作进度:执行git stash
命令,将未提交的修改保存到一个新的堆栈中,并恢复到一个干净的工作目录。这样可以切换到其他分支上继续工作。
查看保存的工作进度:执行git stash list
命令,可以列出所有保存的工作进度。
恢复保存的工作进度:有两种方式可以恢复保存的工作进度:
git stash apply
命令,可以恢复最新保存的工作进度到当前分支。git stash apply stash@{n}
命令,可以恢复指定的保存的工作进度到当前分支。删除保存的工作进度:执行git stash drop
命令,可以删除最新保存的工作进度。
git stash drop stash@{n}
命令,可以删除指定的保存的工作进度。恢复并删除保存的工作进度:执行git stash pop
命令,可以恢复最新保存的工作进度到当前分支,并从堆栈中删除该工作进度。
git stash pop stash@{n}
命令,可以恢复指定的保存的工作进度到当前分支,并从堆栈中删除该工作进度。创建一个新分支并恢复保存的工作进度:执行git stash branch <branchname>
命令,可以创建一个新的分支,并恢复最新保存的工作进度到该分支上。
需要注意的是,git stash只能保存还未被添加到暂存区的修改,如果已经使用了git add命令将修改添加到了暂存区,那么stash将无法保存这部分修改。