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

如何仅对已删除文件执行git reset --hard,同时保留现有文件?

解决方案

可以通过组合Git命令批量恢复所有被删除的文件,同时保留其他文件的本地修改,具体操作如下:

  1. (可选)确认被删除的文件列表:
    先执行这条命令,确保要恢复的文件符合预期,避免误操作:

    git ls-files --deleted
    

    它会输出所有未暂存的被删除文件,比如你的场景中会显示A和B。

  2. 批量恢复被删除文件到上次提交状态:
    执行以下命令,直接从最近提交(HEAD)中恢复所有被删除文件,同时保留其他修改文件的本地更改:

    git checkout HEAD -- $(git ls-files --deleted)
    

原理说明

  • git ls-files --deleted:Git内置的文件筛选工具,精准列出仓库中被删除且未暂存的文件。
  • git checkout HEAD -- <文件路径>:从指定提交(这里是HEAD即上次提交)恢复目标文件,不会干扰其他未被指定文件的本地修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:04:50