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

如何撤销git rm操作?仅恢复指定文件且不改动其他内容

撤销git rm somefile的方法,精准恢复目标文件

别慌,撤销git rm somefile完全可以做到,而且能精准恢复目标文件,不会影响其他内容。分两种常见场景来处理:

情况1:执行git rm后还没提交代码

如果只是刚执行了删除命令,还没做git commit,直接用下面的命令就能快速恢复:

  • Git 2.23及以上版本(推荐用这个):
    git restore somefile
    
    这条命令会把文件从暂存区恢复到工作区,其他已修改的文件完全不受影响。
  • 如果你用的是比较老的Git版本(2.23之前),可以用:
    git checkout -- somefile
    
    这里的--是为了避免和分支名混淆,确保Git知道你要操作的是某个文件。

情况2:已经提交了git rm的删除操作

要是你已经把删除操作提交到仓库了,就得从历史提交里找回文件:

  1. 先找到删除文件之前的那个提交记录,用这条命令查看简洁版的提交日志:
    git log --oneline
    
    找到删除操作前的那条提交的哈希值(比如a1b2c3)。
  2. 然后用下面的命令恢复文件:
    • 新版本Git:
      git restore a1b2c3 -- somefile
      
    • 老版本Git:
      git checkout a1b2c3 -- somefile
      
    这样就能把该历史版本里的somefile恢复到当前工作区,其他文件的修改或状态都不会被改动。

小提示

如果是用git rm -r删除了整个目录,操作逻辑和单个文件完全一致,把命令里的文件名换成目录名就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:41:17