git stash
是一个在 Git 中用来临时存储当前工作目录中未提交的更改的命令,未跟踪文件不会自动被 git stash 命令存储
。当你需要切换到另一个分支或者进行其他操作,但又不想提交当前的更改时,可以使用这个命令。以下是一些常用的 git stash
命令和它们的用法:
总结
git stash / git stash save "更改描述" //保存更改
git stash save --include-untracked [<message>] //这个命令会将未跟踪的文件和已修改的文件一起存储到 stash 中
git stash list //列出所有存储的更改
git stash apply / git stash apply stash@{n} //应用最近的stash、应用只指定stash
git stash show / git stash show stash@{n} //查看stash条目(文件名)
git stash show -p / git stash show -p stash@{n} //查看stash条目的差异(文件内容)
git stash drop / git stash drop stash@{index} /git stash clear //删除最近的、删除指定、删除所有的
1. 保存当前更改:
git stash
这会保存当前工作目录中的更改,并重置工作目录到上次提交的状态。
2. 保存更改并添加消息:
git stash save "Your message here"
这允许你为这次 stash 添加一个描述性的消息。
3. 列出所有 stash:
git stash list
这会显示所有已保存的 stash 列表。
4. 应用最近的 stash:
git stash apply
这会将最近的 stash 应用到当前工作目录中。如果有多个 stash,你可以指定 stash 的索引来应用特定的 stash。
5. 应用特定 stash:
git stash apply stash@{index}
index
是 stash 列表中的索引号,例如 stash@{0}
表示最近的 stash。
6. 删除最近的 stash:
git stash drop
这会删除最近的 stash。
7. 删除特定 stash:
git stash drop stash@{index}
同样,index
是 stash 列表中的索引号。
8. 清除所有 stash:
git stash clear
这会删除所有保存的 stash。
9. 应用 stash 并从 stash 列表中删除:
git stash pop
这不仅会应用最近的 stash,还会将其从 stash 列表中删除。
以下是 git stash show
命令的一些用法:
10. 查看最新的 stash 条目:
git stash show
这个命令将显示最近一次使用 git stash
存储的更改。
11. 查看特定 stash 条目的更改:
git stash show stash@{n}
其中 n
是一个数字,代表了你想要查看的 stash 条目的索引。Git 为每个 stash 条目分配一个索引,从 0 开始计数。例如,git stash show stash@{0}
将显示最近一次的 stash 条目,git stash show stash@{1}
将显示之前的 stash 条目,以此类推。
12. 查看 stash 条目的差异:
git stash show -p
或者
git stash show -p stash@{n}
使用 -p
选项可以查看 stash 中的文件差异,这对于理解 stash 包含哪些更改非常有用。
13. 查看 stash 条目的统计信息:
git stash show --stat
或者
git stash show --stat stash@{n}
使用 --stat
选项可以显示 stash 条目的统计信息,包括每个文件的更改行数。
14. 查看 stash 条目的摘要:
git stash show --name
或者
git stash show --name stash@{n}
使用 --name
选项可以显示 stash 条目的名称或消息。
15. 查看所有 stash 条目的列表:
git stash list
这个命令将列出所有的 stash 条目及其索引。
使用 git stash
可以非常方便地在不同的工作之间切换,而不必担心丢失未提交的更改。