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

Git仓库master分支文件变更丢失问题求助

解决Git文件变更丢失的思路
  • 先定位2023年6月21日的目标提交,从git log --stat输出里复制它的哈希值,执行git show <提交哈希> -- <文件名>,确认该提交里确实对目标文件做了1增9删的修改,以及修改后文件的具体内容。

  • 检查目标提交后是否有撤销或回滚操作:

    • 执行git reflog查看master分支的所有操作记录,排查是否有git reset、git revert这类可能抹除提交的操作。
    • 如果找到回滚提交,执行git show <回滚提交哈希> -- <文件名>,确认是不是该回滚操作丢弃了目标文件的修改。
  • 加上--follow参数追踪文件历史:执行git log --follow -- <文件名>,因为如果文件在6月21日之后被重命名/移动,默认的git log <文件名>不会追踪改名前的提交,--follow会处理文件名变更的情况。

  • 检查分支合并时的冲突处理:

    • 找到6月21日提交所在分支合并到master的合并提交,执行git show <合并提交哈希> -- <文件名>,查看合并时该文件是否出现冲突,以及冲突解决是否错误丢弃了原有修改。
  • 排查路径大小写或拼写问题:如果仓库运行在区分大小写的系统(如Linux),确认你输入的文件名和提交里的路径大小写完全一致,比如提交里是Docs/File.md,你输入的是docs/file.md,这时候git log会匹配不到,需要用完全一致的路径执行git log -- <正确路径>。

  • 检查是否存在孤儿提交:如果目标提交被从master分支移除但仍在本地仓库中,git reflog会记录它的哈希,找到后可以用git cherry-pick <提交哈希>将该提交重新应用到master分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:02:11