The likely reason is that at some point you either --amend/ed a commit or 
rebased a few commits, such that the copy that Github had was no longer up to 
date with what you had locally.

You have now done some extra work locally on top of that changed commit and 
github is sayin that what it had as the tip of master is "ahead" of your series 
(it says you are behind, or at least took a side turn).

The good news is that becuase of the 'pull' (which is fetch then merge), you 
will have a local copy of what was at Github, even though later you overwrote 
it (that copy) with the --force.

The branch origin/master (assuming normal conventions) should be the old 
version (held locally). It takes a moment or two to realise that 'rtb's (remote 
tracking branches) are actually your local copy!.

To get a visualisation of your project, try using the `gitk` tool (via the 
command line) as `gitk --all &` (tidbit: the & allows you to continue with the 
command line and use gitk at the same time)

hope this helps

Philip
  ----- Original Message ----- 
  From: Torsten Anders 
  To: Git for human beings 
  Sent: Saturday, July 09, 2016 12:48 PM
  Subject: [git-users] Problems pushing -- remote branch went backwards "in 
time"


  Dear all,

  I need some help to get some git repository back to functioning properly.

  I am developing some project completely on my own, and I have a local and a 
remove repository/branch (the latter at GitHub). I started development two 
years ago, then the project paused for a while, and now I wanted to push a few 
more commits. I was surprised to get the following error message.

  $ git push
  To g...@github.com:user/project.git
   ! [rejected]        master -> master (non-fast-forward)
  error: failed to push some refs to 'g...@github.com:user/project.git'
  hint: Updates were rejected because a pushed branch tip is behind its remote
  hint: counterpart. Check out this branch and integrate the remote changes
  hint: (e.g. 'git pull ...') before pushing again.
  hint: See the 'Note about fast-forwards' in 'git push --help' for details.

  No-one except me ever pushed anything to the remove branch, so I had no idea 
where this came from. I tried to do what the error message said. Everything was 
up-to-date as expected. 

  $ git pull
  Already up-to-date.

  I again tried to push, but still got the same error message as above. So, I 
searched for possible solutions in the git documentation and online, and then I 
did what some recommended, because I knew as the only developer I could not 
overwrite the work of anyone else. Before doing this, my local branch was 17 
commits ahead of the remote branch.

  $ git push --force
  Total 0 (delta 0), reused 0 (delta 0)
  To g...@github.com:user/project.git
   + d28162f...e083c14 master -> master (forced update)

  Unfortunately, this did not work out as planned, instead of pushing the new 
17 commits to the remote branch, the remote branch went back to an older 
version now 34 commits behind my local branch.

  $ git status
  On branch origin-master
  Your branch is ahead of 'origin/master' by 34 commits.
    (use "git push" to publish your local commits)
  nothing to commit, working directory clean

  Now, before accidentally actually ruining anything I decided to better ask 
this mailing list. What do you suggest in this situation. 

  Thanks a lot! 

  Best,
  Torsten Anders

  PS: I am using git version 2.0.1 on OS X (10.9.5). I may add that in addition 
to invoking git directly at the command line I commonly use the Emacs package 
magit. I assume I updated that package during the two years before the new push 
trial, and I tried pushing with magit first. Not sure whether that could have 
caused some problem.  



  -- 
  You received this message because you are subscribed to the Google Groups 
"Git for human beings" group.
  To unsubscribe from this group and stop receiving emails from it, send an 
email to git-users+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to