Как разрешить конфликт Git слияния - PullRequest
3 голосов
/ 06 марта 2012

Я новичок в github и пытаюсь слить ветки master и gh-pages.

При попытке слияния возник конфликт.Теперь я получаю следующее сообщение

enter image description here

Как мне это исправить?

Ответы [ 3 ]

7 голосов
/ 06 марта 2012

Я обычно использую git mergetool для разрешения конфликтов.

Запускает предопределенный инструмент визуального слияния.

5 голосов
/ 06 марта 2012

Посмотрите на ваш текущий статус:

git status

Вы, вероятно, увидите некоторые файлы, которые подготовлены для фиксации, а некоторые имеют локальные изменения. Постановочные - это те, которые слились без проблем. Те с локальными изменениями имеют конфликты слияния. Откройте каждый из этих файлов, и вы увидите что-то вроде этого где-то внутри:

<<<<< master
// some code that was in master
=====
// some code that was in gh-pages
>>>>> gh-pages

(в любом случае, я думаю, что-то подобное)

Отредактируйте каждый из них так, чтобы он был таким, каким вы хотите (т.е. исправьте конфликты). Затем сделайте, как говорится:

git add the/file/i/fixed.txt
git commit
0 голосов
/ 29 июля 2016

В основном, попробуйте следующие шаги, как правило


Посмотрите на текущий статус

git status

Если у вас нет ничего, что не отслежено или не зафиксировано, вы будете что-то вроде следующего enter image description here

На этом этапе вам придется зафиксировать файлы


Добавить для отслеживания и фиксации

git add-commit -m 'commit message'

В этот момент у вас будет: Commited

Теперь вы можете объединить ветку с текущей веткой или оформить другую ветку с помощью

git checkout <branch>

и объединить какую-то ветку


Объединить ветку

git merge <branch>

Убедитесь, что у вас нет конфликтов, и вы можете успешно объединить ветку.

Если у вас возникнут конфликты слияния, вы увидите что-то вроде:

Conflicts

Теперь вам нужно решить, какие изменения необходимо сохранить в файле конфликта, <<<<<<<<<< HEAD указывает, что это изменение было в родительской ветви, тогда как >>>>>>>>>>> refs/heads/new_idea - это то, что фактически было добавлено из ветви, которую вы пытаетесь объединить.

Вы можете использовать различные инструменты слияния для просмотра и разрешения конфликтов, для получения помощи по инструменту слияния посмотрите git mergetool

Надеюсь, это поможет!

...