git stash
是 Git 版本控制系统中的一个强大功能,允许你临时保存(或者“藏匿”)你的更改,然后你可以在任何时候重新应用这些更改。这是非常有用的,特别是当你需要切换分支去工作其他任务,但你当前的工作进度还不足以提交一个完整的commit时。
以下是一些基本的 git stash
命令及其用法:
git stash
这个命令会保存你的工作进度。它会存储所有已跟踪的文件的更改和暂存的更改,但不包括未跟踪的文件(新文件)。
git stash -u
或者
git stash --include-untracked
这个命令除了保存已跟踪文件的更改外,还会保存工作目录中的新文件(即未跟踪的文件)。
git stash list
这个命令会显示所有的stash列表。
git stash apply
这个命令会应用最近的stash到当前工作目录,但不会从stash列表中删除它。
git stash apply stash@{n}
将特定的stash应用到当前工作目录,其中n
是你想要应用的stash的索引。
git stash drop
这个命令会删除最近的stash。
git stash drop stash@{n}
删除特定的stash。
git stash pop
这个命令会应用最近的stash,并从stash列表中删除它。
git stash clear
删除所有保存的stash。
git stash
是一种手动保存当前工作状态的方式,并且git stash
作为一个栈管理这些状态,你可以多次执行git stash
命令来保存不同时间点的工作状态,然后可以选择性地重新应用它们或者删除。这使得在不同分支或任务之间快速切换成为可能,而不会丢失未完成的代码更改。