git stash 是 Git 中的一个非常有用的命令,它可以临时保存当前工作目录的修改,并将工作目录恢复到干净的状态。这样你可以在不提交这些修改的情况下切换分支或执行其他任务。下面是 git stash 的详细用法和常见操作:
基本用法
-
保存当前修改:
git stash或者:
git stash save "描述信息"这会将所有未提交的修改和暂存区的内容存储起来,并恢复工作目录到上次提交的状态。
-
查看 stash 列表:
git stash list这会显示所有存储的 stash 条目。
-
恢复最近一次的 stash:
git stash apply这会将最近一次存储的修改应用到当前工作目录中,但不会移除该 stash 条目。
-
恢复并移除最近一次的 stash:
git stash pop这会将最近一次存储的修改应用到当前工作目录中,并从 stash 列表中移除该条目。
-
应用特定的 stash 条目:
git stash apply stash@{n}这里的
n是git stash list命令显示的 stash 条目的编号。 -
移除特定的 stash 条目:
git stash drop stash@{n}这会移除指定的 stash 条目。
-
清除所有的 stash 条目:
git stash clear这会删除所有存储的 stash 条目。
示例
假设你正在开发一个新功能,工作到一半时需要紧急修复一个 bug,但不想提交未完成的工作。这时你可以使用 git stash 将当前修改保存起来,切换到另一个分支修复 bug,修复完成后再应用之前的修改:
# 保存当前修改
git stash
# 切换到 bug 修复分支
git checkout bugfix-branch
# 修复 bug 并提交
git commit -a -m "修复 bug"
# 切换回原来的分支
git checkout feature-branch
# 应用之前的修改
git stash pop
通过以上步骤,你可以在不丢失当前工作的情况下轻松切换任务。
评论
使用 GitHub 账号登录后即可评论