My current branch is my_branch
. Trying to push the changes to the remote repo I get:
$ git push
Counting objects: 544, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (465/465), done.
Writing objects: 100% (533/533), 2.04 MiB | 1.16 MiB/s, done.
Total 533 (delta 407), reused 0 (delta 0)
To [email protected]
4ed90a6..52673f3 my_branch -> my_branch
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Trying to git pull
results in:
$ git pull
Already up-to-date.
Why I get this error?
How could I resolve this problem and perform git push
successfully?
My current branch is my_branch.
That is your problem. When you pull, Git is telling you that your branch my_branch
is up to date, not master
, which is behind origin/master
making a fast-forward merge impossible.
In order to push master, you need to check out master
and pull. This will merge in the changes waiting on origin/master
and allow you to push your own changes.
git checkout master
git pull
# resolve conflicts, if any
git push