Задать вопрос
  • Почему 2 ветки Git не сливаются?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вы же сами увидели в vscode — что произошло. Вы забыли обновить ветку и начали строить вторую цепочку коммитов. Ваша ветка раздвоилась (diverged).

    Гит вам тоже всё подробно пояснил, что нельзя пушить в другую ветку и предлагает вам сначала объединить разные ветки в одну используя pull.

    Но тут вылезла другая проблема, что у вас немного недонастроен гит. В новых версиях он просит вас уточнить, каким методом вы хотите объединять ветки? Можно путем создания коммита слияния, а можно путем пересаживания вашей текущей ветки main на вершину вышестоящей ветки origin/main, чтобы история осталась простой и линейной, без этих разветвлений и слияний.

    Первая стратегия задается командой
    git config pull.rebase false # merge
    И это поведение по-умолчанию которое было раньше. Рекоменду вам его и выбрать. Эта команда выполняется один раз и больше вам не потребуется.

    А затем просто повторите git pull и всё сработает. Разве что могут возникнуть конфликт, но это уже другая тема.

    Если хотите сохранить линейную историю то можно принудительно вызвать вторую стратегию только для одного раза
    git pull --rebase
    Ответ написан
    3 комментария