git pull displays "fatal: Couldn't find remote ref refs/heads/xxxx" and hangs up
I created a branch called 6796
, then I pushed it to remote, checked it out on another machine, made other edits, pushed it, then merged it with master
, and deleted it locally and remotely on the other machine (git push :6796
). Now, when I run git pull
:
fatal: Couldn't find remote ref refs/heads/6796
user@host:~/path/to/repo$ fatal: The remote end hung up unexpectedly
but git pull origin master
works normally. It seems to me that there is a 6796
reference somewhere... how to resolve th开发者_如何学编程is?
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
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?
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.
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
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
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 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
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.
精彩评论