git stash用法
在 Git 中,git stash
是一个用于临时保存当前工作目录和暂存区的修改(包括未跟踪的文件或更改),以便清理工作目录,同时不丢失这些修改的命令。
主要用途
当你正在开发一个功能,但需要切换到其他分支或进行一些临时调整(比如修复紧急问题)时,你可以使用 git stash
将当前未完成的修改保存起来,而无需提交。
命令详解
-
git stash
- 将当前工作目录和暂存区的所有修改保存到一个堆栈(stash stack)中,同时恢复干净的工作目录。
-
git stash list
- 查看所有已存储的 stash 列表。
- 每个 stash 条目有唯一标识(如
stash@{0}
)。
-
git stash apply
- 从 stash 中恢复最近保存的修改,但不会删除 stash 条目。
- 如果想应用特定的 stash,可以指定,例如:
git stash apply stash@{1}
。
-
git stash pop
- 恢复最近的 stash 修改并删除该条目。
- 适合用完后不需要保存的情况。
-
git stash drop
- 删除特定的 stash 条目。
- 例如:
git stash drop stash@{0}
。
-
git stash clear
- 清空 stash 堆栈,删除所有保存的条目。
-
git stash save "message"
- 带描述信息的保存,便于理解内容。
-
git stash --include-untracked
- 保存未跟踪文件的更改(默认不包含)。
- 如果还想包括被忽略的文件,可以使用
--all
。
使用场景举例
场景 1:切换分支时保留修改
git stash # 保存当前工作
git checkout other-branch
# 完成后返回工作分支
git checkout your-branch
git stash pop # 恢复修改
场景 2:避免提交零散的改动
git stash # 保存临时改动
# 编写其他代码并提交
git stash pop # 恢复临时改动
场景 3:清理工作目录
git stash --include-untracked
# 工作目录变得干净,可以执行其他操作
git stash pop
注意事项
- 使用
git stash
前,最好确保没有未保存的重要更改。 - 如果存在冲突,
git stash apply
或git stash pop
恢复时需要手动解决。
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18613609,如有侵权联系删除