2016-08-04 2 views
3

Я получаю значок конфликта Git в Eclipse на большом количестве файлов, хотя кажется, что я разрешил все возможные конфликты.Как я могу избавиться от значков «конфликта конфликта» Eclipse Git после того, как все слияния разрешены?

В Eclipse 4.5.2 в представлении «Проект» я выбираю корень проекта и делаю щелчок правой кнопкой мыши -> Сравнить с веткой origin/master. Затем мы видим представление Team Synchronization. Во многих файлах отображается красный значок конфликта. conflict icon, но они не должны.

Представление Git, которое должно показать конфликты, пуст. Я уже пробовал слияние; Согласование слияния (ничего не остается сделать). Я попытался добавить в индекс из представления Git Staging; и даже перезаписать из представления Team Synchronization. Сравнение локальных и исходных файлов показывает, что они идентичны.

Git установка autocrlf является правда, так что это не проблема.

Это происходит неоднократно.

Почему я вижу эту иконку конфликта? Как я могу избавиться от него?

Staging

ответ

2

ли вы сделать pull? Или где вы просто сравнивая в Team Synchronization? По моему опыту Team Synchronization перспектива путает большинство людей.

В общем случае его следует использовать только для чтения. Не пытайтесь разрешить какие-либо конфликты здесь. По умолчанию вы сравниваете свою рабочую копию с удаленным репозиторием. Это означает, что на самом деле у вас нет конфликтов в ваша рабочая копия Когда вы «исправляете» их здесь, вы просто делаете локальную модификацию. Вы можете зафиксировать это, но не разрешает конфликт. n труднее разрешить.

Так что ничего не делайте в перспективе Team Synchronization. Просто сделайте pull, чтобы иметь эти конфликты в своей рабочей копии, а затем разрешить их. Конфликт слияния помечен как объединенный, перемещая их на Staged Changes.

Если что-то сломается, и вы хотите, чтобы новая попытка сделала reset --hard на последнем коммите в вашем локальном репозитории.

+0

Вы правы, что после того, как я сделаю «Отметить как объединенный», а затем зафиксируйте, Team Synchronization все еще показывает значок конфликта, но Git-постановка не работает. Итак, на данный момент, казалось бы, конфликт разрешен, но значок конфликта неправильный. –

+0

Нет, это правильно. По-прежнему существует конфликт между вашей локальной рабочей копией (теперь с внесенными вами изменениями и локальными локациями) и удаленным репозиторием. Вам нужно сделать «тянуть», чтобы этот конфликт возник в вашем локальном репо и рабочей копии. После 'pull' вы видите его в представлении' Git Staging', и вы сможете его исправить. – Kai

+0

«Вам нужно сделать тягу». Спасибо. Потянуть, конечно, невозможно, пока я не совершу. После добавления объединенного кода в индекс из представления Git Staging, я получил, а затем передал код из представления Resource. Затем из представления ресурсов я сравнил с удаленной ветвью. Теперь этих икон конфликтов больше нет. –

0

После редактирования ресурса конфликта правильно. Щелкните правой кнопкой мыши на ресурсе конфликта и нажмите * Пометить как Объединенное». См Resolving_a_merge_conflict. Также проверьте этот screen cast.

+1

Благодарим вас, но «Mark as Merged» - одна из вещей, которые я пробовал, и это не устранило значок. –

+1

Я сделал «Отметьте как слитый», затем Commit. Теперь Team Synchronization (Compare To) по-прежнему показывает значок конфликта, но Git-постановка не работает. –

+0

Чтобы очистить эти значки конфликта. Повторно запустите ** Синхронизацию ** еще раз, а затем новые результаты очистят эти старые значки. –

Смежные вопросы