Если это все еще проблема, если вы делаете git push
, вы продвигаете все свои ветви, а не только текущую.
Однако
git pull
НЕ является прямой противоположностью git push
. Это точно так же, как выполнение следующих команд:
git fetch
git merge origin/thecurrentbranch
То есть git pull
объединяет только рабочую ветвь. Он НЕ объединяет никакие другие ветви.
Если git pull
выглядит чистым, но вы все еще не можете нажать, это означает, что одна из ваших других веток устарела, и это то, на что жалуется git.
Решение состоит в том, чтобы только подтолкнуть вашу текущую ветку:
git push origin thecurrentbranch
Обратите внимание, что я предполагаю, что thecurrentbranch
- это имя вашей активной ветки, а origin
- это ваше хранилище в восходящем потоке.
РЕДАКТИРОВАТЬ: внимательный взгляд на ваш оригинальный вопрос является просветляющим:
dd36358..86bc572 redesign -> redesign
! [rejected] master -> master (non-fast-forward)
Вы, вероятно, redesign
извлекли, и это то, что git pull
работает. Однако git отклоняет ветку master
. Итак, чтобы решить эту конкретную проблему, либо нажмите redesign
явно, либо сделайте следующее:
git checkout master
git merge origin/master
git push