git - 如何恢复已删除的远程分支

标签 git github

我们的远程 master 分支被删除了。我有一份 master repo 的本地副本,但它已经过时了。我可以通过将最后一个已知的提交哈希插入 URL 来查看 github 中的分支,但未能成功恢复它。我已经尝试了几个步骤来恢复它:

git reset --hard 16deddc05cb53dfaa2d198b1cf264416e19255e9
fatal: Could not parse object '16deddc05cb53dfaa2d198b1cf264416e19255e9'

git checkout 16deddc05cb53dfaa2d198b1cf264416e19255e9
fatal: reference is not a tree: 16deddc05cb53dfaa2d198b1cf264416e19255e9

可以理解,因为 master 已经不存在了。我有哪些恢复选项?

最佳答案

  1. 获取确切的提交(及其历史记录中的所有内容):

    git fetch origin 16deddc05cb53dfaa2d198b1cf264416e19255e9
    
  2. 从中创建一个分支:

    git branch xyzzy FETCH_HEAD
    

您可以将其 merge 为一个步骤:

git fetch 16deddc05cb53dfaa2d198b1cf264416e19255e9:refs/heads/xyzzy

关于git - 如何恢复已删除的远程分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33656729/

相关文章:

c++ - 将 git commit 和 git diff 作为字符串放入二进制文件中?

git - 如何在 gitk 中设置 diff 选项(--compaction-heuristic)

git - 是否可以从父项目修补 Git 中的子模块?

github - 为什么在我添加新帖子时 Jekyll 无法在本地运行?

git - 如何删除 Git 中除最新提交之外的所有提交?

git - 我需要手动获取 ~/.bashrc 以在我的命令提示符中显示和更新 GIT 分支

GitHub 登录和企业 URL 问题

git - 如何查看 Git Pull Request 中所有修改过的文件?

github - Gist 中的个人访问 token

git - 如何编辑/更新构建任务 TFS 中的默认获取源步骤?