У меня это тоже было, и я не смог найти где-нибудь в StackOverflow следующий четко определенный полезный слепок: Git не позволит вам перейти в другую ветку, если ваша рабочая ветвь отклонилась от нее .Это легко исправить - просто переключитесь на ветку, в которую вы хотите перейти, и объедините в нее свою рабочую ветку.Поэтому вместо того, чтобы попробовать это:
git push origin master <========== On "mybranch"
Сделайте это:
git checkout master <========== Switch to the branch you want to push to
git pull origin master <========== Get latest from remote repository
git pull origin mybranch <========== Merge in changes from "mybranch"
======== Resolve any issues ========
git push origin master <========== Push the merged changes