Ошибка git failed to push some refs ...Updates were rejected because a pushed branch tip is behind its remote + non-fast-forward
Primary tabs
ВНИМАНИЕ: не делайте в этой теме резких движений! Есть риск потерять данные.
git error: failed to push some refs to
git Updates were rejected because a pushed branch tip is behind its remote
Вообще речь идёт об ошибке вида:
To ....git ! [rejected] branch1 -> branch1 (non-fast-forward) ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '...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.
Предположим, что вы находитесь в ветке branch0.
Такая ошибка может возникать в ответ на
git push
-- то есть на попытку отправить изменения на удалённый сервер.
Вы делаете:
git pull
но проблема с git push всё равно сохраняется.
Причина
Проблема в том, что ваш git push пытается отправить на удалённый сервер не только текущую ветку branch0, но и вообще все ветки в которых произошли изменения на вашей машине, при этом в удалённом репозитории имеют коммиты более поздних изменений от других разработчиков -- о чем и собственно и сообщает на git, не давая сделать push в эти ветки.
Решение (безопасное для описанное ситуации)
Если написано, что:
Updates were rejected because a pushed branch tip is behind its remote
То это значит, что какие-то из ваших веток не обновлены, в моё случае это 2 ветки (см .сообщение выше):
branch1 master
Далее в качестве решения есть два пути:
- переключиться во все эти "устаревшие" ветки и сделать
git pull
-- но лучше другой способ:
- настроить push на отправку только текущей ветки и просто сделать снова:
git push
- Log in to post comments
- 12417 reads