Вы указываете следующее сообщение об ошибке в своем вопросе:
ваши локальные изменения в следующих файлах будут перезаписаны слиянием
Это сообщение об ошибке по сути говорит о том, что git мешает вам потенциально потерять работу. У вас есть некоторые изменения в вашем рабочем дереве, которые вы еще не зафиксировали, и при извлечении эти файлы будут изменены - это может привести к потере локальных изменений. После того, как вы внесете изменения в эти файлы, функция будет работать. (Или вы можете пропустить этап «выборки» git pull
и просто запустить git merge origin/master
, чтобы снова попробовать этап слияния.) Ответ Мартина Огдена приводит пример использования git stash
в качестве альтернативы, что больше подходит, если вы еще не готовы совершить свою работу.
Последнее сообщение об ошибке:
To prevent you from losing history, non-fast-forward updates were rejected.
По сути, вам разрешено нажимать, только если коммит, который вы нажимаете, уже содержит историю ветвления, к которому вы нажимаете. Обычное решение - тянуть первым. Это еще одно сообщение об ошибке, которое не позволяет вам потерять работу - вы (в общем) не захотите уничтожать работу, которую другие люди отправили в эту ветку.