You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.