git: Your branch is ahead by X commits

git, git-commit

Solution

If you get this message after doing a `git pull remote branch`, try following it up with a `git fetch`. (Optionally, run `git fetch -p` to prune deleted branches from the repo)

Fetch seems to update the local representation of the remote branch, which doesn't necessarily happen when you do a `git pull remote branch`.

Problem

How does this actually come about? I am working in one repo by myself at the moment, so this is my workflow: - Change files - Commit - Repeat 1-2 until satisfied - Push to master Then when I do a `git status` it tells me that my branch is ahead by X commits (presumably the same number of commits that I have made). Is it because when you push the code it doesn't actually update your locally cached files (in the .git folders)? `git pull` seems to 'fix' this strange message, but I am still curious why it happens, maybe I am using git wrong? including what branch is printed in the message My local branch is ahead of master where do you push/pull the current branch I am pushing to GitHub and pulling to whichever computer I happen to be working on at that point in time, my local copy is always fully up to date as I am the only one working on it. it doesn't actually check the remote repo That is what I thought, I figured that I would make sure my understanding of it was correct. are you passing some extra arguments to it? Not ones that I can see, maybe there is some funny config going on on my end? ``` $ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) ```

Original source

Related problems