【发布时间】:2017-01-22 07:33:05
【问题描述】:
我在一个分支上做了一个git push -f,现在失去了其他人的工作。
我可以在我的 github 中看到显示了其他人的工作(显示在活动中),但没有在远程分支中(我推送我的更改)。不幸的是,我的本地存储库没有与远程同步。所以我在本地没有其他人的代码。有没有办法让我把它送到我的本地并恢复?
【问题讨论】:
-
...不要这样做
push -f。如果 git 抱怨冲突,假设它最了解并修复冲突 -
@sashoalm:没有别的办法了吗?
-
你知道丢失提交的哈希值吗?获取后,此提交是否仍然存在于您的本地存储库中?
-
创建一个新克隆并运行
git fsck --no-reflogs以查找所有悬空提交。在强制推送之前,分支指向了这些悬空提交之一。如果未列出任何悬空提交,则该提交由其他分支或标签引用。你可以试着找出来。我没有使用 Github,但我想我听说有人说 Github 具有记录 reflogs 之类的功能。
标签: git github git-push data-recovery