我们的远程主分支被删除了。我有一个主存储库的本地副本,但它已经过时了一些版本。我可以通过将最后一个已知的提交哈希插入 URL 来查看 github 中的分支,但未能成功恢复它。我已经尝试了几个步骤来恢复它:
git reset --hard 16deddc05cb53dfaa2d198b1cf264416e19255e9
fatal: Could not parse object '16deddc05cb53dfaa2d198b1cf264416e19255e9'
git checkout 16deddc05cb53dfaa2d198b1cf264416e19255e9
fatal: reference is not a tree: 16deddc05cb53dfaa2d198b1cf264416e19255e9
Run Code Online (Sandbox Code Playgroud)
可以理解,因为主人不再存在。我有哪些选择可以在这里恢复?
获取确切的提交(及其历史记录中的所有内容):
git fetch origin 16deddc05cb53dfaa2d198b1cf264416e19255e9
Run Code Online (Sandbox Code Playgroud)从中创建一个分支:
git branch xyzzy FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)您可以将其合并为一个步骤:
git fetch 16deddc05cb53dfaa2d198b1cf264416e19255e9:refs/heads/xyzzy
Run Code Online (Sandbox Code Playgroud)
如果您不知道最新版本的哈希值,您可能无法恢复它。也许您能做的最好的事情就是将您拥有的主分支推送到 github。由于修订已经在存储库中,这将是一个快速的网络操作。
如果您对托管您的存储库的机器具有 ssh 访问权限(在 github 上您没有),那么您可以在 git 存储库中搜索孤儿。孤儿是不再有引用的提交。不幸的是,在这种情况下这对您没有帮助。
有一些提示可以帮助您恢复丢失的提交,包括在这篇文章中寻找孤儿的过程:
| 归档时间: |
|
| 查看次数: |
8756 次 |
| 最近记录: |