Конфликт слияния Git

Я и мой друг разветвляемся из основного хранилища (вверх по течению). Прошлой ночью у нас была та же версия этого хранилища на локальной машине. Затем я добавил новую функцию, и мой друг также добавил еще одну новую функцию. Мой друг вытащил запрос к основному хранилищу, и я объединил этот запрос извлечения с вышестоящим хранилищем без конфликта. И когда я получаю из апстрима и сливаюсь с моей основной веткой, это конфликтует. Что я должен сделать в этой ситуации, чтобы разрешить конфликт? (В исходном хранилище должно быть 2 новых функции после разрешения конфликта)

3 ответа

Решение

Просто просмотрите файлы, помеченные как конфликтующие git status и найти маркеры конфликта (вы можете искать ==== в файле). Согласуйте изменения между ними, выясните, не произошло ли чего-то неожиданного из-за комбинации вашего кода, запустите ваши тесты, а затем используйте git add а также git commit как обычно, чтобы совершить коммит, объединив новую функцию вашего друга с вашей.

Upstream: original                 with friend's feature            with both
               \  \               /                \               /
                \  -- Friend's --/                  \             /
                 \                                   \           /
                  ---- Yours ------------------------- your merge

Обратите внимание, что вы также можете напрямую разрешить конфликт слияния из самого Eclipse/Egit:
Смотрите " Egit: Решение конфликтов слияния":

Вы можете вручную редактировать текст слева или использовать кнопку Копировать текущее изменение справа налево, чтобы скопировать конфликтующие изменения справа налево.

Следующий шаг - из контекстного меню файла выбрать Team -> Add to index. Чем совершать.

разрешение конфликтов слияния в EGit

Вы можете напечатать git difftool path/filename в консоли использовать инструмент для разрешения конфликта или использовать программное обеспечение Git, в которое встроено разрешение конфликтов. Мне очень нравятся SmartGit (от создателей SmartSVN) и TortoiseGit (очень похожий на TortoiseSVN).

Другие вопросы по тегам