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

调整Git仓库及.gitignore后本地远程文件全部丢失该如何解决?

Git误删本地及远程仓库文件恢复方案

前置操作

立即停止对当前仓库目录的所有写入操作,避免Git历史被覆盖。

恢复步骤

1. 定位有效历史提交

执行以下命令查看Git操作全记录,找到执行git rm -r --cached .之前的正常提交对应的哈希值(格式为7位左右的字符串,或HEAD@{数字}格式的标记):

git reflog

2. 恢复本地文件

二选一执行即可:

  • 需丢弃所有错误提交,直接回退到正常版本:
    git reset --hard <你找到的正常提交哈希值>
    
  • 需保留当前工作区改动,仅恢复被删文件:
    git checkout <你找到的正常提交哈希值> -- .
    

执行完成后执行ls即可看到被误删的文件已恢复。

3. 同步恢复远程仓库

确认本地文件完整无误后,执行以下命令推送至远程仓库完成修复:

git add .
git commit -m "恢复误删的所有文件"
git push

注意事项

如果本地历史已损坏,可直接从远程仓库拉取删除前的版本:

git checkout origin/<你的分支名,通常为main或master> -- .

附:修改.gitignore的正确流程

后续调整.gitignore规则时按以下步骤操作可避免同类问题:

  1. 先将仓库所有文件备份到仓库外的独立目录
  2. 编辑.gitignore文件添加需要忽略的规则
  3. 执行git rm -r --cached .清除暂存区跟踪标记
  4. 执行git add .重新按新规则扫描文件
  5. 执行git status检查待提交列表,确认要保留的文件均已被跟踪、要忽略的文件已被排除
  6. 确认无误后再执行git commit和git push操作

内容的提问来源于stack exchange,提问作者Mihai.Mehe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:45:03