繁体   English   中英

git pull 显示“fatal: 找不到远程引用 refs/heads/xxxx”并挂断

[英]git pull displays “fatal: Couldn't find remote ref refs/heads/xxxx” and hangs up

我创建了一个名为“6796”的分支,然后我将它推送到远程,在另一台机器上检查它,进行其他编辑,推送它,然后将它与 master 合并,并删除它 - 本地和远程( git push :6796 ) - 在另一台机器上。 现在,当我运行git pull

fatal: Couldn't find remote ref refs/heads/6796
user@host:~/path/to/repo$ fatal: The remote end hung up unexpectedly

但是git pull origin master工作正常。 在我看来,有一些 6796 参考挂断了......如何解决这个问题?

可能有一些命令可以解决它,但我首先会在您的.git/config文件中查找对该分支的引用,然后将其删除。

您还必须删除本地分支:

git branch -d 6796

另一种方法是从本地存储库中修剪所有陈旧的分支。 这将删除已从远程删除的所有本地分支:

git remote prune origin --dry-run

当我试图在名称中使用单引号 ' 进行拉取时,我遇到了类似的问题。

我不得不转义拉取请求名称:

git pull https://github.com/foo/bar namewithsingle"'"quote

在以下情况下也可能抛出此错误。

您想从远程存储库签出名为feature分支,但由于您的本地存储库中已经有名为feature/<feature_name>分支,因此抛出错误。

只需以不同的名称签出feature分支:

git checkout -b <new_branch_name> <remote>/feature

当我尝试使用“.”提交新创建的存储库时,我遇到了类似的问题 以它的名义。 我已经看到其他几个人对放置“.”有不同的问题。 在回购名称中。

我刚刚重新创建了 repo 和

replaced "." with "-"

可能还有其他方法可以解决这个问题,但这对我来说是一个快速解决方案,因为它是一个新的存储库。

要在本地拉取远程分支,我执行以下操作:

git checkout -b branchname // 创建一个同名的本地分支并签出它

git pull origin branchname // 将远程git pull origin branchname拉到本地git pull origin branchname

唯一一次我这样做但它不起作用,我删除了repo,再次克隆它并重复上述2个步骤; 有效。

我有同样的错误。 问题是分支被删除,发布。 但是在 PhpStorm 中,我仍然可以在远程分支中看到它。 我可以作为当地分行结帐。 然后做 git pull 给出了这个错误。

所以需要远程检查这个分支是否真的存在。

我遇到过同样的问题。 但就我而言,这是由于我的分支机构的名称。 分支的名称在我的 GitHub 存储库中自动设置为 main 而不是 master。

git pull origin master(没有工作)。

我在 GitHub 中确认了分支的名称是否实际上是 master 并发现实际名称是 main。 所以下面的命令对我有用。 git pull origin main

就我而言,它发生在 master 分支上。 后来发现我对项目的访问权限被项目经理不小心撤销了。 为了进行交叉检查,我访问了审查站点,但看不到该项目的上述分支和其他分支的任何提交。

就我而言,默认情况下选中的是“轻量级结帐”复选框,而碰巧的是,我需要取消选中它。 你能看出来吗?

在此处输入图片说明

我没有调查它为什么会导致如此突然的错误,但由于它阻止了我的 Jenkins 工作几个小时,我觉得值得在这里分享其他答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM