Задать вопрос
Vextor-ltd
@Vextor-ltd
Webdeveloper

Как исправить ошибку: не удалось перенести некоторые рефсы в ветку?

Сервак с Гитлабом отключался, когда я пушил в ветку репы коммит.
А потом я по запаре второпях что-то сделал, точно не помню что, но мне кажется я зачем-то сделал аменд предпоследнего коммита, а потом ещё и закоммитил последние изменения "Правка контроллеров, адаптивная верстка account/order" и получилась фот такая вот фигня.
Т.е. предпоследний локальный зааменденный локально коммит по сути не нужен, он есть в репозитории, а последний нужен и его нужно запушить.
Подскажите как исправить ситуацию?
67940f4d9166b437249137.jpeg
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Сделав amend вы фактически убрали этот коммит f97331c1c из ветки vlad-account в локальном репозитории и начали строить альтернативную версию этой ветки от предыдущего коммита. Так как старый коммит никуда не исчез из дерева (на него по прежнему указывает ветка origin/vlad-account), получается, что вы создали разветвление, а ветки vlad-account и origin/vlad-account теперь стали разными ветками, поэтому гит не знает что делать если быстрая перемотка невозможна (non-fast-forward).

В данной конкретной ситуации, думаю, проще удалить старую историю, отправив локальную версию принудительно, указав ключ force.

git push --force

Гит вам советует склеить ветки обратно перед отправкой через pull
Это тоже вариант, но получатся дубли коммитов в истории и, возможно, конфликты.
Лучше просто перезаписать вторую ветку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽