Git pull 显示的是“足以致命的: 找不到远程参考文献/head/xxxx”,然后挂断

我创建了一个名为 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参考的地方... 如何解决这个问题?

226363 次浏览

There are probably some commands to resolve it, but I would start by looking in your .git/config file for references to that branch, and removing them.

You also have to delete the local branch:

git branch -d 6796

Another way is to prune all stale branches from your local repository. This will delete all local branches that already have been removed from the remote:

git remote prune origin --dry-run

I just ran into a similar issue when I tried to commit to a newly created repo with a "." in it's name. I've seen several others have different issues with putting a "." in the repo name.

I just re-created the repo and

replaced "." with "-"

There may be other ways to resolve this, but this was a quick fix for me since it was a new repo.

I had a similar issue when I tried to get a pull with a single quote ' in it's name.

I had to escape the pull request name:

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

This error could be thrown in the following situation as well.

You want to checkout branch called feature from remote repository but the error is thrown because you already have branch called feature/<feature_name> in your local repository.

Simply checkout the feature branch under a different name:

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

To pull a remote branch locally, I do the following:

git checkout -b branchname // creates a local branch with the same name and checks out on it

git pull origin branchname // pulls the remote one onto your local one

The only time I did this and it didn't work, I deleted the repo, cloned it again and repeated the above 2 steps; it worked.

I have same error. Problem was that branch was deleted, released. But in PhpStorm I still could see it in remote branches. I could checkout as local branch. And then doing git pull was giving this error.

So need to check if this brnach really exists remotely.

In my case, it happenned for the master branch. Later found that my access to the project was accidentally revoked by the project manager. To cross-check, I visited the review site and couldn't see any commits of the said branch and others for that project.

I had the same issue. But in my case it was due to my branch's name. The branch's name automatically set in my GitHub repo as main instead of master.

git pull origin master

(did not work).

I confirmed in GitHub if the name of the branch was actually master and found the the actual name was main. so the commands below worked for me.

git pull origin main

In my case, it was the "Lightweight checkout" checkbox that was checked by default, while, as it happens, I needed it unchecked. Can you spot it?

enter image description here

I didn't investigate why did it cause such an abrupt error, but since it blocked my Jenkins jobs for a couple of hours, I felt it's worth sharing on top of the other answers here.