git push rejected

Issue

I give up!
Whenever I try to push I get a stupid:

! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:companyX/projectX.git'

Our team has a new git setup. Instead of making private branches I now Forked our main repository (on github) to create my own copy.

At some point what I did was:

$ git fetch upstream master:upstreammaster

So here is my current setup::

$ git branch
master
* upstreammaster

$ git remote -v
origin  [email protected]:userX/projectX.git
upstream    [email protected]:companyX/projectX.git

where userX is my private repository.

So I go and make some changes to my upstreammaster branch, and the PULL from “upstream master”.
Everything merges and stuff:

$ git pull upstream master
remote: Counting objects: 95, done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 60 (delta 54), reused 0 (delta 0)
Unpacking objects: 100% (60/60), done.
From [email protected]:companyX/projectX
 * branch            master     -> FETCH_HEAD
Merge made by recursive.
stuff                      |  165 ++++++++++++--------
stuff                      |   35 ++--
stuff                       |  107 ++++++++++---
stuff                       |  105 ++++++++++---
stuff             |   24 ++--
stuff               |    9 +-
stuff                   |   53 +++----
stuff            |   44 +++---
stuff              |   52 +++----
stuff |   32 +----
stuff          |    4 +-
 stuff             |  138 ++++++++---------
stuff     |   58 ++++----
stuff    |  115 ++++++++------
stuff          |    5 +-
stuff                       |   39 ++---
stuff                        |   28 ++--
 17 files changed, 560 insertions(+), 453 deletions(-)

but then when I try to do:

$ git push upstream master
To [email protected]:companyX/projectX.git
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:companyX/projectX.git'

Any help would be greately appreciated! If you need clarification please ask, I will reply!

Solution

When doing a push, try specifying the refspec for the upstream master:

git push upstream upstreammaster:master

Answered By – Jarret Hardie

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published