You need to enable JavaScript to run this app. 多分支下使用git stash,暂存内容是否按分支隔离存储与恢复?
优惠活动
大模型
产品
解决方案
定价
更多

多分支下使用git stash,暂存内容是否按分支隔离存储与恢复?

Git Stash 的存储与恢复规则

执行git stash pop既不会同时恢复两个分支的所有已暂存工作,也不会按分支自动匹配对应暂存内容单独恢复,核心逻辑如下:

  • Git Stash 使用仓库全局的后进先出栈结构存储暂存进度,所有执行git stash保存的工作内容,都会按入栈顺序统一排入这个公共队列,和当前所在分支没有绑定关系,不会为不同分支单独划分独立的暂存存储空间。
  • 你当前操作场景下,stash栈内的条目顺序是固定的:
    • 最先在feature/A分支保存的修改,会排在栈的下层(对应序号stash@{1})
    • 后续在feature/B分支保存的修改,会排在栈的最顶端(对应序号stash@{0})
  • git stash pop的默认行为始终是取出栈顶的最新一条暂存内容,和你当前所处的分支无关:哪怕你切回了feature/A分支再执行默认的git stash pop,弹出的仍然是存在栈顶的feature/B分支的暂存修改,不会自动识别当前分支、匹配对应分支的暂存内容做恢复。

想精准恢复对应分支的暂存内容,可以先执行git stash list查看所有暂存条目关联的原始分支、保存备注,找到目标内容对应的序号后,通过git stash pop stash@{N}的方式定向弹出对应条目,避免恢复错进度。

内容的提问来源于stack exchange,提问作者Harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 11:06:01