问题
I am quite new to git, and I had been working on a small side project for the last 2 months and had been pushing stuff onto bitbucket with no problems. A couple of days ago, I zipped my project folder (since I had to reinstall my Linux OS) and now unzipped this after my reinstallation of Linux OS.
So, now, I went to my project folder, kept happily working and finally did:
git add -A && git commit -m "modified code" && git push origin master
..which is what I usually do..
and I get:
To https://johnsproject@bitbucket.org/johnsproject/proj.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://johnsproject@bitbucket.org/johnsproject/proj.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
I have had a look at a few SO questions where they suggest the use of a force flag -f
- but I am unsure if I should be doing this.
p.s: I am on the master branch - which is the only
branch on my repo.
Would really appreciate if anyone could point me in the right direction here.
Thanks.
回答1:
There are changes in the central repository that you must pull before you can push. Do
git add -A
git commit -m "my local changes"
git pull
Resolve any conflicts. Then do
git push
Alternatively, if you have no valuable modifications locally, you can create a new clone of your repo, and start working from there:
git clone https://johnsproject@bitbucket.org/johnsproject/proj.git new_repo_dir
回答2:
Try doing
git pull origin master
git add -A
git commit -m "modified code"
git push origin master
Your local repository is likely out of sync with the remote repository.
回答3:
I had the same problem. I fixed by using the git push -f
command which forces the update.
回答4:
works for me git push --set-upstream origin master -f
回答5:
in my case was new file from git repository not added, and this was the solution 1. git status (just to check) 2. git add . 3. git push -u master origin
回答6:
You can try git pull, after that git commit in studio, and after that git push origin branch name.
来源:https://stackoverflow.com/questions/16899243/git-rejected-push-non-fast-forward