Why I always Got Error "Push to origin/master was rejected"?

44k views Asked by At

EDIT: one of the things should be aware of if you are using git bash is that BETTER TO KEEP AUTOCRLF FALSE

git config --global core.autocrlf false

========================================================

I'm new to git and I got problems deploying files...

I just pulled files successfully (?) using commands, and now I'm trying to push...

Commit Logs below: (I have several reverts because I have failed to commit several times due to LF, CRLF, or untracked Files errors)

And in AS I got "Push to origin/master was rejected"

The Error when pushing

hint: Updates were rejected because the tip of your current branch is behind
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
Done
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
18:53:20.176: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false pull --progress --no-stat -v --progress origin 
master
From https://github.com/kiranofans/Lab1_MovieApp
 * branch            master     -> FETCH_HEAD
 = [up to date]      master     -> origin/master
fatal: refusing to merge unrelated histories
18:57:26.215: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false push --progress --porcelain origin 
refs/heads/master:master
github --credentials get: github: command not found
github --credentials store: github: command not found
error: failed to push some refs to 
'https://github.com/kiranofans/Lab1_MovieApp.git'
To https://github.com/kiranofans/Lab1_MovieApp.git
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
Done
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
5

There are 5 answers

4
Jerinaw On BEST ANSWER

I'm not sure what exactly you're asking here. And those logs are not very helpful.

But since you're asking about pushing...

Generally you've started out by cloning a repo or you've run git init and created one.

You then edit or create files in that repo.

You then need to stage those file to be committed.

git add <file1> <file2> ...

You can see what's been staged with git status

If everything looks good you can commit those changes

git commit -m "My commit message"

If you've cloned a remote repository, and you have permissions to push to it

git push <remote> <branch> so something like git push origin master

You can view your remotes with git remote -v

You can add a remote if you don't see the remote you need in the list git remote add <give it a name> <the URL to the repo> so something like git remote add upstream https://github.com/me/myrepo.git

And then push to it git push upstream master

Git for Windows: https://git-scm.com/download/win
The reference manual: https://git-scm.com/doc
Here's a how to: https://githowto.com/

[Update]
Those logs are better. Line 5 is telling you what you need to do. git pull
Some one must have pushed changes before you did. So you need to pull those changes into your repo. fix any conflicts, commit, and push.

6
rst-2cv On

If you read the error message, it says:

hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.

Pay attention to that second line.

Try to do a git pull, and then try and git push again. It should work.

1
dazn311 On

You will try to send the command

git push -f origin master
0
Rubén Viguera On

I had the same error when trying to push to an existing repository for a first time with my user.

My problem was my user had general WRITE permissions to repository but not to branches. So if also it is your first time pushing, just check your permissions.

0
KUMAR HARSH On

This usually happens when I push my repository to GitHub and then use GitHub pages to publish my work, then later on when I make some tweaks in my local machine and try to push these changes it is rejected with the error message that the remote repo contains files that are not present in my local repo so I should try doing a git pull first, basically because after publishing to GitHub pages some _config.yml files are added to our repository which is not present in our local machine.

This can be solved using a git pull <remote fetch url> first which will download the _config.yml file on our local machine and then we can push using the git push command.

I am answering this here since this question was the first google search result when I tried searching for why my git push command won't work, although the problem in push is due to a different reason in this case, others might face my issue so I added this answer here.