【发布时间】:2015-03-09 04:53:06
【问题描述】:
我不小心删除了我的 github 存储库中的一个分支。
我已经搜索了解决方案,并尝试了提到的方法 here 和 here,但是因为我从未将该分支合并到 master 中 - 我在 reflog 中根本看不到它。
由于技术问题,我唯一仍然具有该分支的本地工作副本在几天内无法访问。
有什么办法可以恢复被删除的分支?
【问题讨论】:
我不小心删除了我的 github 存储库中的一个分支。
我已经搜索了解决方案,并尝试了提到的方法 here 和 here,但是因为我从未将该分支合并到 master 中 - 我在 reflog 中根本看不到它。
由于技术问题,我唯一仍然具有该分支的本地工作副本在几天内无法访问。
有什么办法可以恢复被删除的分支?
【问题讨论】:
如果您没有通过 GitHub(比如 BitBucket..)工作,并且您在本地的分支没有在 reflog 中保留未合并分支的日志,那么有两种选择 1) 找到最后一次从 repo 中获取的团队成员,并且可以访问他获取的 repo 中的所有分支。然后,他可以转移到每个远程分支并将该特定代码推送到存储库。您可以返回您的其他工作区/文件夹,查看您是否已从任何其他功能分支获取并可以执行相同操作。 2) 要求在本地分支上工作的所有其他团队成员将他们的代码推送到 repo,从而为(仅实时)分支重新创建结构。
这仍然是不完整的,因为重组将错过最后一次 fetch 之后的提交,直到当前合并,并且树的历史将在其 refs 中被修改。但至少可以避免代码库和历史完全丢失。
【讨论】:
最快的方法仍然是write to GitHub support:他们确实可以访问 GitHub 存储库的 refleg,并且可以为您恢复该分支。
然后一个简单的 fetch 将允许您在本地 repo 中恢复相同的分支。
【讨论】: