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