我通过 eclipse 界面使用 git(从一年开始,虽然不是很自信)。
我有一个本地存储库,我会不时将其推送到远程存储库。 另一位开发商也在做同样的事情。 今天我将最近 2 周的更改推送到远程存储库。 推送被拒绝了。 据我所知,其他开发人员正在处理应用程序的不同部分,我所做的是获取远程分支,然后进行 merge (单击我的分支并与远程分支 merge )。 我只解决了一个小冲突,然后我再次 push 。
此时,我发现我已经丢失了本地存储库中的所有更改。 在历史记录中,我只能看到其他开发人员在我最后一次推送到远程存储库(2 周前)之后所做的最后一次提交。
过去两周我所有的本地历史都消失了。 所有的变化都消失了。 没有最近的日志。尝试使用 fsck,我在 lost-found 中看到的文件很少。 其他开发人员没有做任何类似 rebase 或类似的事情,只是推送。
知道我做错了什么,更重要的是,如何恢复它???? 只是一些提示/指南会非常有帮助,我真的承受着很大的压力...... 谢谢
最佳答案
尝试
git reflog
并查看它是否列出了您的任何提交。如果是这样,您可以检查提交哈希(例如,a4b82
)并在那里创建一个新分支:
git checkout -b new_branch_name a4b82
(无论你做什么,在找到提交并为它们创建分支之前,不要运行“git gc”...)
关于Git:另一个失去一切的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6716798/