I am usually doing some basic code development on one PC (A) and pushing that to bitbucket via Sourcetree.
On my production computer (B), I pull this locally and typically mostly use the code as is, occasionally fixing a few bugs and pushing back to the Bitbucket repository.
Recently, I found myself in a situation where, while on (B), I pushed some modifications to Bitbucket, only to discover that I had some pending mods on (A) as well. I committed those on A locally and tried to push that to Bitbucket, which obviously failed.
I tried some uneducated actions: pulling the remote (as the error message was suggesting this) and some additional merge of some kind, which I stupidly did not note down.
The result is that I am finding myself in the situation described below (on A), which prevents me from pushing any further modifications made on A.
Is there any simple course of action to reconcile A and the remote so that I can the pull the result to B?
Actually, here is the error message I get when pushing the A repo to Bitbucket in SourceTree:
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --set-upstream origin master:master
Pushing to https://bitbucket.org/XXXXXXXXXX.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://bitbucket.org/XXXXXXXXXX.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.
Completed with errors, see above.
While I can't say that I have quite understood how this works, I managed to get out this hole by following some of the UI 's suggestions, ending up with this situation:
The lesson I draw from this is to always pull from remote before working on a repo and always push after having worked on a repo. Whichever machine you are working on. Sort of...
Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events