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

如何恢复Git分离HEAD状态返回后被删除的原追踪忽略环境文件

找回被忽略后修改的环境文件最新版本

1. 先查本地未提交/暂存的内容

  • 执行 git status,查看工作区是否存在未被追踪的环境文件(因为已加入.gitignore,Git会标记为untracked),如果有直接保留即可。
  • 执行 git stash list,若之前用过暂存操作,检查列表中是否包含环境文件的修改记录,找到对应编号后用 git stash apply stash@{n} 恢复。

2. 检索Git所有历史记录找文件版本

哪怕没提交修改,只要曾经执行过git add,Git对象库就会留存版本。用以下命令列出所有涉及该文件的提交记录:

git log --all -- src/environments

找到最新的记录(无论是否提交到分支),记下哈希值,再用这条命令将对应版本导出到本地:

git show <提交哈希>:src/environments/你的环境文件名.ts > src/environments/你的环境文件名.ts

3. 通过reflog查找HEAD历史状态

Git的reflog会记录所有HEAD的移动操作,包括你切换旧提交、切回main的过程,可能能找到修改环境文件时的状态:

git reflog

找到切换到旧提交之前的哈希值,要么用git show <哈希>:src/environments/...导出文件,要么直接git checkout <哈希>进入该状态,复制文件后再切回main分支。

4. 修复.gitignore的遗留问题

找回文件后,别仅靠.gitignore处理已提交文件的追踪问题,先将文件从Git仓库的追踪列表中移除(保留本地文件):

git rm --cached src/environments/你的环境文件名.ts

提交这个变更,之后Git就不会再追踪该文件的修改,切换分支时也不会再出现文件丢失的情况。


内容的提问来源于stack exchange,提问作者John Fred Fadrigalan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:22:38