61

I have a git mirror on my disk and when I want to update my repo with git pull it gives me error message:

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

It also gives me:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

When I run make menuconfig it gives me Linux version 3.5.7? What does this mean? How can I update my repo?

57

Check the branch you are on (git branch), check the configuration for that branch (in .../.git/config), you probably are on the wrong branch or your configuration for it tells to merge with a (now?) non-existent remote branch.

  • 20
    To remove non-existent remote branch references in your local repository, use git remote prune origin. – jevon Apr 9 '14 at 2:53
  • 7
    Another way to "check the configuration" for a branch is: git branch -vv. That displays the branch's associated "remote". – offby1 Oct 14 '14 at 19:11
25

In my case, my local branch was not set to track the remote branch. I had to manually run:

git pull origin remotebranch

Then next time you do a push do "git push -u" to set up correct tracking.

  • The same goes for when you first clone an empty repo ie created using git init --bare – Cyclonecode Mar 25 '15 at 23:21
10

In my case, my local branch and remote branch had different capitalization.

To resolve this I deleted my local branch $ git branch -d branch-name, then checked out the remote branch again using $ git fetch and $ git checkout Branch-name.

  • Its clean, simple and working fine. Thank you. – Balasubramani M Jun 15 '15 at 9:47
  • I got this error in cmd line. Tried SmartGit with a rebase and got past it. – P.Brian.Mackey Nov 4 '16 at 17:26
  • Do this once instead of delete branch and re-checkout branch every single time: Correct capitalization in your /.git/config – wz366 May 30 '18 at 22:18
2

It's possible that someone else on your team simply merged your branch and deleted it (commonly done after merging). You can make the branch on the repo and try again. It's happens to me at my company every once in a while (bitbucket defaults to merge and delete).

1

In my case (the usual caveat), I already had a branch of the appropriate name so I only had to add remote = origin to my .git/config:

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added
1

I had the same error when running out of disk space. After resizing the volume, the error was gone.

0

In my case I had to call the following commands manually:

git fetch origin
git merge origin/master

(c) https://stackoverflow.com/a/13800341/741782

0

I got this issue due to a casing problem that manifests itself on Windows.

My Git config looked like:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

On the server, both "Bug" and "bug" existed as part of multiple branches. Windows can only hold one of these at a time though, due to the file system mapping. Therefore, I manually updated my config to match the server version, which actually solved the pull issue:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch
0

If the branch is gone,

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

Then checkout master or whatever you need

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.