参考文献/远程/原点/母版没有指向有效的对象?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (122)

在最后一次合并到我的Git存储库的主分支之后,我失去了克隆存储库的能力。

Cloning into test-repository...
remote: Counting objects: 126084, done.
remote: Compressing objects: 100% (28327/28327), done.
Receiving objects: 100% (126084/126084), 132.63 MiB | 29.30 MiB/s, done.
remote: Total 126084 (delta 96101), reused 126078 (delta 96095)
Resolving deltas: 100% (96101/96101), done.
error: refs/remotes/origin/master does not point to a valid object!
error: Trying to write ref refs/heads/master with 
       nonexistant object 951aca8051823b2f202d30c9cb05401ef17618c6

FISHEYE是一个存储库托管工具,它正在报告:

Unable to fetch from remote repository:
/var/atlassian/application-data/fisheye/managed-repos/MYREPONAME.git
error: unable to find 0d998c99b6d01e8aabca72b1934802acf90b8fc9,
fatal: object 0d998c99b6d01e8aabca72b1934802acf90b8fc9 not found

主分支上存储库中的最后一个提交是:

commit 0d998c99b6d01e8aabca72b1934802acf90b8fc9
Merge: a6ea4b3 1f373a9
Date:   Fri Dec 14 13:57:24 2012 +0200

Merge branch 'new_error_code'

我试过:

cd /var/atlassian/application-data/fisheye/managed-repos/MYREPONAME.git
git gc
git fsck --full
git reflog expire --expire=0 --all
git update-ref
git gc --aggressive
提问于
用户回答回答于
git gc
git fsck --full
git reflog expire --expire=0 --all
git update-ref -d 0d998c99b6d01e8aabca72b1934802acf90b8fc9
git gc --aggressive
git remote update --prune

而且成功了!

用户回答回答于

通常可以:

git reflog master

这将给你一个最后知道的位置,大师已经指出的列表。

一旦你知道了这一点,你就可以创建一个临时分支到一个旧版本的主ie。

git branch temp master@{1}

然后结帐,看看是否正常。如果没有看到任何内容,那么以前执行的命令(删除重触发器、删除悬空提交等)可能已经消除了所有恢复的方式。

扫码关注云+社区

领取腾讯云代金券