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个步骤。 有效。