You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销已应用的git stash且保留该stash?

撤销Git Stash应用但保留Stash的方法

没问题,这事儿很好解决,咱们直接看具体操作:

你现在需要撤销git stash apply带来的变更,但还要保留原stash供后续使用,有两个靠谱的方案,根据你的实际情况选就行:

方法一:反向应用Stash补丁(推荐,更安全)

这个方法能精准撤销目标stash带来的变更,不会影响你工作区里其他未提交的内容:

  1. 先确认你之前应用的stash编号(就是stash@{x}里的x)
  2. 执行以下命令:
    git stash show -p stash@{x} | git apply -R
    
    • git stash show -p stash@{x}:输出该stash对应的diff补丁内容
    • git apply -R:反向应用这个补丁,也就是把stash里的所有变更逐一撤销

执行完后,你可以用git status检查,之前apply的变更应该都消失了,而且git stash list里还能看到那个目标stash,后续需要时随时可以再用。

方法二:重置工作区(仅适合工作区无其他未提交变更的场景)

如果你的工作区现在只有这个stash带来的变更,没有其他需要保留的未修改内容,可以直接重置:

git reset --hard

这个命令会把工作区和暂存区完全恢复到当前HEAD的状态,直接清除所有未提交变更,操作前一定要确认没有其他重要修改没保存!

验证操作结果

不管用哪种方法,操作完后可以执行这两个命令确认效果:

  • git status:查看工作区是否回到干净状态
  • git stash list:检查目标stash是否还在列表中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:35:50