Не работает git pull и вылетает непонятная ошибка
В общем, вижу, что в ветке есть какие-то изменения, которые могу спулить себе, находясь в ветке, где нету незакомиченных изменений.
Вбиваю git pull и получаю:
From blablabla.net:wr/BlaBlaProject
! [rejected] epic/blablaBranch -> origin/epic/blablaBranch (non-fast-forward)
Эта ветка в которой я не разу не работал и не выкачивал себе локально.
Пробовал выкачать ее себе, а потом переключиться на свою ветку и снова сделать pull, но все равно ошибка.
Не понимаю природу ошибки, так как git не пишет в чем конкретно проблема
Ответы (1 шт):
Вероятнее всего причиной ошибки является то, что в удалённом репозитории кто-то принудительно переписал историю (push --force).
В этом случае проще всего удалить локальную ссылку на удалённую ветку командой git branch -r -d origin/epic/blablaBranch, и заново выкачать её вместе с остальными через git fetch.
UPD
Другой возможной причиной является то, что у вас запрещён merge при pull. То есть запрещено выполнять pull для веток, в которые вы локально коммитите. Это запрет включается или параметром --ff-only в смой команде git pull или в конфиге в параметре pull.ff значением only. Проверить значение в конфиге можно командой
git config --get pull.ff
Если действительно стоит такой запрет, то вместо pull делайте последовательно fetch и merge с нужными параметрами.