git stash用法

在 Git 中,git stash 是一个用于临时保存当前工作目录和暂存区的修改(包括未跟踪的文件或更改),以便清理工作目录,同时不丢失这些修改的命令。

主要用途

当你正在开发一个功能,但需要切换到其他分支或进行一些临时调整(比如修复紧急问题)时,你可以使用 git stash 将当前未完成的修改保存起来,而无需提交。


命令详解

  1. git stash

    • 将当前工作目录和暂存区的所有修改保存到一个堆栈(stash stack)中,同时恢复干净的工作目录。
  2. git stash list

    • 查看所有已存储的 stash 列表。
    • 每个 stash 条目有唯一标识(如 stash@{0})。
  3. git stash apply

    • 从 stash 中恢复最近保存的修改,但不会删除 stash 条目。
    • 如果想应用特定的 stash,可以指定,例如:git stash apply stash@{1}
  4. git stash pop

    • 恢复最近的 stash 修改并删除该条目。
    • 适合用完后不需要保存的情况。
  5. git stash drop

    • 删除特定的 stash 条目。
    • 例如:git stash drop stash@{0}
  6. git stash clear

    • 清空 stash 堆栈,删除所有保存的条目。
  7. git stash save "message"

    • 带描述信息的保存,便于理解内容。
  8. 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 恢复时需要手动解决。
posted @ 2024-12-17 22:55  海_纳百川  阅读(9)  评论(0编辑  收藏  举报
本站总访问量