Git:另一个失去一切的例子?

标签 git

我通过 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/

相关文章:

spring - 如何要求 Spring Cloud Config 服务器从特定分支 checkout 配置?

GIT:[拒绝](会破坏现有标签)错误

linux - git : Setting application environmental variables

git - 如何使 'git push' 像 'git push origin branch' 一样工作?

我是错误 : “error: while searching for:”

git - vscode,git diff View : how show only changes

git - merge 解决新代码的冲突

git - 为什么我的 'git branch'没有master?

git - 在 Visual Studio Code for Windows 中,Git 分支不显示且无法创建分支

git - 如何在 git 存储库中列出我当前所有的 TODO 消息?