Git Stash Pop 如何正确存储你的工作

2025-06-10

Git Stash Pop如何正确存储你的工作

想象一下,你正在处理一个项目的一部分,然后开始变得混乱。有一个紧急的 bug 需要你立即处理。现在是时候保存更改并切换分支了。问题是,你肯定不想提交一个半成品。解决方案是git stash……

如果你需要快速切换工作环境并处理其他工作,但又正忙于代码修改,尚未准备好提交,那么存储功能就非常方便。Bitbucket

储藏

假设您当前有几个本地修改。运行git status,检查当前状态:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#      modified:   index.html
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#      modified:   assets/stylesheets/styles.css
Enter fullscreen mode Exit fullscreen mode

你需要处理那个紧急的 bug。首先,你需要保存未完成的工作更改,但不要提交它们。这时,git stash救星就出现了:

$ git stash
Saved working directory and index state WIP on master:
  bb06da6 Modified the index page
HEAD is now at bb06da6 Modified the index page
(To restore them type "git stash apply")
Enter fullscreen mode Exit fullscreen mode

您的工作目录现在干净了,所有未提交的本地更改都已保存!此时,您可以自由地进行新的更改、创建新的提交切换分支以及执行任何其他 Git 操作。

默认情况下,存储被标识为“WIP”——正在进行的工作,位于创建它们的分支和提交之上。

重新使用你的储藏

Git stash是一个临时存储。当你准备从上次中断的地方继续时,你可以轻松恢复保存的状态:git stash pop

弹出存储会移除存储中的更改,并重新应用上次保存的状态。如果您还想保留存储中的更改git stash apply,可以使用。

其他提示和技巧

您还可以用储藏室做其他一些事情。我们来看看吧!

  • 保存储藏使用消息
    保存储藏$ git stash save <message>

    尝试将CSS 行高添加到您的样式中并将其与漂亮的注释一起存储。

  • 存储未跟踪的文件这是保存未跟踪文件
    的唯一方法$ git stash -u$ git stash --include-untracked

  • 列出多个存储区。
    当您git stash或 时git stash save,Git 将创建一个具有名称的 Git 提交对象,然后将其保存在您的仓库中。您可以随时查看您创建的存储区列表$ git stash list

$ git stash list
stash@{0}: On master: Modified the index page
stash@{1}: WIP on master: bb06da6 Initial Commit
Enter fullscreen mode Exit fullscreen mode
  • 部分存储
    您可以选择仅存储单个文件、文件集合或文件内的个别更改:$ git stash -p$ git stash --patch

    RSpec 测试在 Ruby on Rails 项目中必不可少,但它们可能并不总是完整的。只存储已准备就绪的部分!

  • 查看储藏差异
    有两种方法可以查看储藏:查看储藏的完整差异$ git stash show -p-或仅查看最新的储藏- $ git stash show

$ git stash show
index.html | 1 +
style.css | 2 ++
2 files changed, 3 insertions(+)
Enter fullscreen mode Exit fullscreen mode
  • 从存储中创建分支
    创建一个新分支以应用存储的更改,然后将存储的更改弹出到该分支上:$ git stash branch <branch_name> <stash_id>

    这是在继续进行项目之前保存存储的另一种方法。

  • 删除你的存储
    请谨慎使用,它可能很难恢复。唯一的恢复方法是删除存储后没有关闭终端。
    如果你不再需要某个存储,可以使用以下命令将其删除:$ git stash drop <stash_id>。或者,你可以使用以下命令从仓库中删除所有存储:$ git stash clear

希望本文能帮助你更好地理解存储的工作原理。一定要尝试一下!

本文最初发表于Kolosek Blog

鏂囩珷鏉ユ簮锛�https://dev.to/neshaz/how-to-git-stash-your-work-the- Correct-way-cna
PREV
输入文本[您应该知道的一切]
NEXT
免费学习编程(所有免费资源)简介 选择编程语言 速成课程 关于编程语言 初学者编程错误 数据结构 算法 一些值得关注的博客 值得关注的 YouTube 频道