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

Git中撤销未暂存文件修改后,如何恢复原修改?求对应命令

恢复Git中未暂存已撤销的本地修改

首先要明确你当初是用哪种操作撤销的修改,不同情况恢复方式不同:

情况1:用git checkout -- <文件名>或git restore <文件名>撤销修改

Git本身不会自动保存这类未暂存修改的快照,只能通过外部途径尝试恢复:

  • 检查编辑器的本地历史记录(比如VS Code的「本地历史」、Sublime Text的「File History」等),多数编辑器会自动保存文件修改快照
  • 查看系统回收站/垃圾桶,部分编辑器在覆盖文件前会生成备份文件(比如带.bak后缀)
  • 借助系统级备份工具(如Mac的Time Machine、Windows的文件历史记录)恢复对应时间点的文件

情况2:用git stash暂存后误删了stash

如果你的修改是通过git stash暂存后又用git stash drop删除了,可尝试以下步骤:

  1. 执行git stash list查看所有已保存的stash记录(如果还没被彻底清理),找到对应编号的stash
  2. 用git stash apply stash@{n}(将n替换为实际编号)恢复该stash的内容
  3. 如果stash已被清理,执行git fsck --lost-found查找丢失的Git对象,找到对应修改的blob ID后,用git show <blob-id>查看内容,再通过git show <blob-id> > <文件名>将内容写回目标文件

重要提醒:未暂存的修改在通过git checkout --或git restore撤销后,Git不会留存任何记录,务必依赖外部工具或备份尝试恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:33:31