这是一个常见问题,希望您也能帮助我。我什么也没藏,根本没有提交。我天真地“运行”了对我的GitHub执行以下操作的工具:
git branch -f another-branch
git checkout another-branch
git reset --hard origin/my-work
git add -A .
git commit -a -m 'magical update'
git push origin another-branch --force
git checkout my-work (a few weeks ago)
我发现恢复未暂存的文件非常容易。我只是使用了命令:
git checkout path / to / file
我在这里尝试了一些解决方案,但没有解决问题。我希望我们可以找到直接解决此问题的方法。因此,正如我希望GitHub使用临时模板来从这种情况中恢复过来。由于--force命令,我没有收到警告。
情况:
答案 0 :(得分:0)
尝试git reflog
这应该为您提供您所执行的git操作的本地历史记录。从reflog中检查特定的提交将使您到达所需文件仍然存在的位置。
> git reflog
> git checkout HEAD@{reflog-index}
参考:https://git-scm.com/docs/git-reflog
参考日志或“ reflogs”记录分支的提示和
其他参考已在本地存储库中更新。 Reflog是
在各种Git命令中很有用,用于指定a的旧值
参考。例如,HEAD@{2}
的意思是“其中HEAD过去是两个
向前移动”,master@{one.week.ago}
的意思是“母版以前指向的位置
到一周前在此本地存储库中保存”,依此类推。