git pull显示“致命:无法找到远程ref refs / heads / xxxx”并挂起

时间:2011-08-03 16:52:30

标签: git

我创建了一个名为'6796'的分支,然后我将其推送到远程,在另一台机器上检查,进行其他编辑,推送,然后将其与主服务器合并,并将其删除 - 本地和远程({{ 1}}) - 在另一台机器上。现在,当我运行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 正常工作。在我看来,有一些6796参考挂断......如何解决这个问题?

10 个答案:

答案 0 :(得分:95)

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

答案 1 :(得分:15)

您还必须删除本地分支:

git branch -d 6796

另一种方法是从本地存储库中删除所有过时的分支。这将删除已从遥控器中删除的所有本地分支:

git remote prune origin --dry-run

答案 2 :(得分:2)

当我尝试使用单引号获取时,我遇到了类似的问题。

我不得不逃避拉取请求名称:

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

答案 3 :(得分:2)

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

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

只需使用其他名称检查feature分支:

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

答案 4 :(得分:1)

当我尝试使用“。”的名称提交新创建的回购时,我遇到了类似的问题。我看到其他几个人在设置“。”时遇到了不同的问题。在回购名称中。

我刚刚重新创建了回购和

replaced "." with "-"

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

答案 5 :(得分:1)

我有同样的错误。问题是分支被删除,释放。但是在PhpStorm中,我仍然可以在远程分支中看到它。我可以作为本地分支结帐。然后执行git pull会出现此错误。

因此需要检查该分支是否确实存在于远程。

答案 6 :(得分:0)

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

  

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

     

git pull origin branchname //将遥控器拉到当地的

我唯一一次这样做并且它没有工作,我删除了回购,再次克隆它并重复上述两个步骤;它奏效了。

答案 7 :(得分:0)

就我而言,它发生在master分支上。后来发现,我对项目的访问被项目经理意外吊销。为了进行交叉检查,我访问了审阅站点,但看不到该分支和该项目的其他提交。

答案 8 :(得分:0)

我有同样的问题。但就我而言,这是由于我的分支机构的名字。分支的名称会在我的GitHub存储库中自动设置为主(而不是主)。

git pull origin master(没用)。

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

答案 9 :(得分:0)

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

enter image description here

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