So we have a branch in our git repo called creative_market
. I run the command git checkout --track origin/creative_market
which works fine. All of the changes that should be on the creative_market
branch are present. However, if I run git pull
I get this error:
Your configuration specifies to merge with the ref 'creative_market'
from the remote, but no such ref was fetched.
In addition, if I do git pull origin creative_market
I get:
fatal: Couldn't find remote ref creative_market
fatal: The remote end hung up unexpectedly
Running a git branch -a
clearly shows:
remotes/origin/creative_market
And my .git/config
file shows:
[branch "creative_market"]
remote = origin
merge = refs/heads/creative_market
Which lines up with everything else in my .git/config
file.
I am stumped here. Any ideas?
Best Answer
The message you're getting can indicate that the
creative_market
branch no longer exists in the remote repository. Could this be the case?You can fix it with the following commands:
Another, slightly longer, way to prove what's happening is to do the following:
First, make a backup ref with the command
git branch creative_market2 origin/creative_market
. Then, rungit fetch -p
to prune remote-tracking branches that no longer exist on the remote. If the branch was indeed deleted from the remote, you'll see something like the following:To re-create the branch on the remote repository, simply push your local ref to it: