我和吉特有个问题。不知为什么,我的支部已经被腐化了。我有一个当地人的承诺,我想推上去,但是当我推的时候,我得到了这个:
git push origin master
error: unable to resolve reference refs/remotes/origin/master: No such file or directory
error: cannot lock the ref 'refs/remotes/origin/master'.
Everything up-to-date我在其他董事会上见过这个问题,但通常指的是拉而不是推。尽管如此,我还是尝试了他们的解决办法,但没有结果:
git gc --prune=now清理我的git存储库rm .git/refs/removes/origin/master没有人能解决我的问题。有什么想法或想法吗?
发布于 2014-05-24 16:21:21
(一篇有价值的文章;@NeTeInStEiN博士:
核选择是rm -rf .git/refs/remotes/origin,这就是它所做的)
编辑:在我自己的一个repos中,我已经运行过一部分这样的行为,我可以在不使用rm .git/refs/remotes/origin/master黑客的情况下获得git来再现f故障:
HEAD附加到的分支)git fetch --prune获取将产生一个悬空的-ref警告,git for-each-ref将失败,并发出熟悉的消息:
~/sandbox/20/buddy$ git fetch --prune
From /home/jthill/sandbox/20/source/.
x [deleted] (none) -> origin/master
(refs/remotes/origin/HEAD has become dangling)
~/sandbox/20/buddy$ git f-e-r
fatal: missing object 0000000000000000000000000000000000000000 for refs/remotes/origin/HEAD但是,这并没有破坏推送,我已经尝试了push.default的每一种设置,也没有破坏git update-ref -d。
然而,在googling上搜索推消息确实让我得到了以下信息:
]
请参阅上面关于逐个打击的评论,tl;dr is,因为这些是远程参考,git fetch完全刷新了这些参考,而且由于损害严重,for-each-ref和git update-ref根本无法工作,核选择rm -rf refs/remotes/origin; git fetch被保证能够正确地恢复遥控器。
在其他情况下,如果没有简单的方法来恢复受损的裁判或好奇,那么find .git/refs/remotes/origin -type f检查锁或使用reflogs (这些文件在.git/logs中)来恢复内容是有帮助的,但这里没有必要。我想我错过了一次打赌,因为我没有先执行find,*.lock文件在这里看起来很可能是kill -9ed之前的命令,但是我怀疑有一个模糊的引用,而for是我的第一步。
发布于 2020-02-12 06:47:00
从.git文件夹-> ..git/->/->/remotes中删除以下目录
这将删除所有远程分支,您需要使用-> git再次获取它们。这应该能解决问题。
发布于 2019-12-09 05:21:00
.git/refs/remotes/origingit fetch --prune或者,您可以使用此git fetch --all获取所有分支。
现在使用push或pull编写代码,
这对我有用,
https://stackoverflow.com/questions/23749886
复制相似问题