I have one question after reading your explanation: Could it be that you never did a
git checkout master
git pull origin
git checkout my_new_feature
before doing the 'git rebase/merge master' in your feature branch?
Because your master branch won't update automatically from you're friendsyour friend's repository. You have to do that with the 'git pull origin'git pull origin
. I.e. maybe you would always rebase from a never-changing local master branch? And then comescome push time, you are pushing in a repository which has (local) commits you never saw and thus the push fails.