Отклоненный push в Git
На общей main удаленный репозиторий
хранит одну линию истории для всех.
Если второй участник уже отправил
коммит, а вы pushите свою версию
без его коммита, сервер отклонит push:
ваша ветка «позади» remote.
Пусть вы закоммитили локально, а на сервере уже лежит чужая работа. Попытка отправить изменения заканчивается ошибкой non-fast-forward. Git не перезаписывает чужие коммиты молча - нужно сначала встроить их в свою историю.
Отказ push в такой схеме -
ожидаемый сигнал «сначала pull»,
а не поломка репозитория.
Сначала подтянем remote
и объединим его main
с локальной:
git pull
Если Git создал merge-коммит или вы уже разрешили конфликт, повторим отправку:
git push
Сделайте локальный коммит
в main без предварительного pull,
когда на удаленной ветке уже есть
более новый коммит (можно попросить
напарника отправить свой или отправить
с другого клона). Добейтесь успешного
push после pull: на remote должны
быть оба коммита.