git拉显示“致命的:无法find远程ref refs /头/ xxxx”并挂断

我创build了一个叫'6796'的分支,然后我把它推到远程,在另一台服务器上检查出来,做了其他的编辑,推送它,然后把它合并到主机,并删除它 – 本地和远程( 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 

当我尝试使用“。”来创build一个新创build的仓库时,我遇到了类似的问题 在它的名字。 我已经看到其他几个有不同的问题与“。” 在回购的名字。

我刚刚重新创build了回购和

 replaced "." with "-" 

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

这个错误也可能在以下情况中引发。

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

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

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

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

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

git pull origin branchname //将远程程序拖到本地程序

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