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

如何恢复Git revert删除的文件及目录?含IntelliJ操作与交互式方法

恢复被Revert删除的目录及相关操作方案

1. 恢复目录的Git命令方式

先找到你执行的revert提交的哈希值(用git log即可查看,就是红框标注的那个提交),或者找到被这次revert操作撤销的原始提交哈希:

  • 若只想把目录恢复到工作区,不生成新提交:
    git checkout <原始提交哈希> -- 目标目录路径
    
    比如目标目录是src/main/com/example,就写git checkout abc123 -- src/main/com/example
  • 若想通过生成新提交的方式恢复(反向撤销revert操作,保留完整提交轨迹):
    git revert <revert提交的哈希>
    
    这个操作会直接撤销那次revert,把所有被删内容恢复,适合需要保留提交记录的场景。

2. 在IntelliJ中直接执行恢复操作

完全可以,操作步骤如下:

  • 打开Git工具窗口(快捷键Alt+9),切换到Log标签页,找到你标记的revert提交;
  • 右键该提交,选择Show Diff,在弹出的差异对比界面里,找到蓝箭头指向位置下的目标目录(绿箭头标注内容);
  • 右键目标目录,选择Checkout Directory,即可将该目录恢复到当前工作区。
    另外也可以直接找到被revert的原始提交,右键选择Checkout并指定要恢复的目录路径。

3. 交互式选择恢复内容

命令行和IntelliJ都支持精准选择:

  • 命令行方式:使用restore命令的交互式选项,针对目标目录执行:
    git restore -p -- 目标目录路径
    
    执行后会逐个显示目录下的代码变更块(hunk),你可以输入y(恢复)、n(跳过)、s(拆分块)等选项,精准选择要恢复的内容。
  • IntelliJ方式:在差异对比界面(Log里的Show Diff),可以勾选单个文件,甚至点击代码块左侧的复选框,只恢复特定的代码片段,无需一次性恢复整个目录或文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:50:53