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

Как разрешить merge конфликт?

Есть ветка master.
От нее были отведены 2 ветки branch-a и branch-b
В branch-a внесли изменения в файл myfile.txt, запушили и слили с мастером
Затем в branch-b внесли другие изменения в тот же файл, сделали merge request и появились конфликты.

Как в консоле решить конфликт, чтобы merge request смог пройти ?

Правильно ли я понимаю, что будет нечто:
git checkout master
git pull origin
git checkout branch-b
git merge master
git add .
git push origin


Поправьте, если не правильно
  • Вопрос задан
  • 174 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 2
vhood
@vhood
Не забывайте отмечать решения
Правильно ли я понимаю, что будет нечто:
Да

git merge master
После этой команды нужно будет решить конфликты в файлах

git add .
После этой команды нужно будет сделать коммит

spoiler
git checkout master
git pull origin
Это не обязательно, можно сразу:
git checkout branch-b
git pull
git merge origin/master
Ответ написан
Комментировать
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
git checkout master
git pull origin
git checkout branch-b
git merge master

Это всё можно заменить одной командой
git pull origin master

В этот момент процесс останавливается на моменте создания коммита слияния и вам нужно используя свой текстовый редактор разрешить все конфликты. Но гораздо эффективнее использовать инструменты разрешения конфликтов встроенные в графические Git-клиенты (рекомендую SmartGit либо IDE от JetBrains)

Далее завершаем слияние
git add .
git push origin

Тут вы забыли про git commit и указывать origin это лишнее, так как у вас ветка уже связана с вышестоящей. Но на самом деле достаточно всего одной команды для завершения
git merge --continue
git push # ну и отправить результат
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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