【发布时间】:2021-09-13 12:37:02
【问题描述】:
我使用命令从我的服务器中删除了一个 git 分支
git push origin :feature-my-branch
我没有在本地签出/保存分支。有什么方法可以恢复这个分支还是永远消失了?
当我这样做时
git branch --all
我看不到 feature-my-branch。当我这样做时
git reflog --no-abbrev
我找不到 feature-my-branch 的提示。
【问题讨论】:
-
我猜这可能取决于远程托管服务。你知道分支引用的提交的哈希吗?
-
您使用什么托管服务?如果您有权访问服务器计算机,则可以登录服务器并在服务器存储库中尝试
git fsck --dangling。它打印悬挂的物体。提示提交可能在其中。该提示也可能被其他 ref 引用,因此您可以尝试git for-each-ref列出所有 ref 并检查它们的任何头部或祖先是否是提交。 -
你在删除之前获取了吗?
-
@Alex028502 我们知道他没有基于他的
git branch --all和git reflog --no-abbrev结果。 -
我只是在 github 上尝试过,即使我再次克隆整个 repo,哈希也不存在。我以为origin会在删除分支后保留散列,然后它会随克隆一起出现。真是太糟糕了,它可以让你删除你看不到的东西
标签: git branch recovery data-recovery