Задать вопрос
@Karininnya

Почему 2 ветки Git не сливаются?

Только учусь и начинала работать за одним компьютером, а потом продолжила за другим и все закоммитилось и в гите я видела добавленные новые изменения, но на домашнем ноуте не могу добавить эти обновления
пробовала git pull merge
может я что-то не туда пишу
в гите пишут одна бранч
но в визуал коде раздвоилось
одна пишет main
вторая облако origin/head
помогите, пожалуйста, что куда ввести?

Switched to branch 'main'
Your branch and 'origin/main' have diverged,
and have 3 and 6 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Вы же сами увидели в vscode — что произошло. Вы забыли обновить ветку и начали строить вторую цепочку коммитов. Ваша ветка раздвоилась (diverged).

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

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

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

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

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

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

Похожие вопросы