git stash 是一个 Git 命令,用于临时保存当前工作目录的修改(包括暂存区的修改),以便你可以切换到其他分支或执行其他操作,而不需要提交这些修改。以下是 git stash 的一些特点:
临时保存修改:git stash 会将当前工作目录和暂存区的修改保存到一个栈中,并恢复工作目录到上一次提交的状态。
多次存储:你可以多次使用 git stash 命令,每次都会将修改保存到栈的顶部。
恢复修改:你可以使用 git stash apply 或 git stash pop 命令将最近一次保存的修改恢复到工作目录。git stash pop 会同时删除栈顶的存储,而 git stash apply 不会。
查看存储:使用 git stash list 命令可以查看所有存储的修改。
删除存储:使用 git stash drop 可以删除指定的存储,使用 git stash clear 可以清空所有存储。
部分存储:使用 git stash -p 可以选择性地存储部分修改。
需要注意的是,git stash 对未跟踪的新增文件无效
以下是常用命令
基本用法
git stash
这将保存当前的修改,并将工作目录恢复到上一次提交的状态。
恢复修改
git stash apply
这将恢复最近一次保存的修改,但不会删除存储的修改记录。
删除存储的修改
git stash drop
这将删除最近一次保存的修改记录。
保存修改并添加描述
git stash save "描述信息"
这将保存当前的修改,并添加描述信息以便以后参考。
查看存储的修改列表
git stash list
这将显示所有存储的修改记录。
恢复并删除存储的修改
git stash pop
这将恢复最近一次保存的修改,并删除该修改记录。
恢复特定的修改
git stash apply stash@{n}
这将恢复第 n
次保存的修改。
删除特定的修改
git stash drop stash@{n}
这将删除第 n
次保存的修改记录。
清除所有存储的修改
git stash clear