2016-03-24 6 views
1

Eclipse, Jave EE IDE для веб-разработчиков Luna Service Release 2 (4.4.2) Затмения EGit 3.4.2.201412180340-рHowto оправиться от плохой мерзавец слияния в Eclipse,

Поэтому я сливающихся между двумя ветвями Git в Eclipse, , то, что я делал десятки раз без инцидентов.

На этот раз по какой-то причине были обнаружены конфликты. Я не знаю, почему. Но ничто в Eclipse не позволяет мне избавиться от них. Я использовал «инструмент слияния». Это позволило мне переместить все изменения так, как я хотел. Сохраненный файл, конфликт не исчез. Не позволю добавить в индекс. Не позволю мне совершить. Пробовал синхронизацию команды с функцией «Mark as Merged». Это не имело никакого эффекта, хотя я с любовью вспоминаю его из «плохих старых дней svn».

Многие устаревшие веб-страницы, которые существуют рассказать мне о >>>>> и < < < < < марок. Ни один из них не найден в моем файле.

Как я могу это понять? Если вы не удалите проект из Eclipse и не закроете его из атласского заклада, он удалит его, как я могу выбраться из этого catch-22?

Обновление: ответили на мой вопрос. Смотри ниже.

Yup, это определенно ошибка в инструментах gcl для eclipse.

В конце концов, я столкнулся с Eclipse EGIT - all committed, pulled, merged, marked as merged, still on push I get "rejected - non-fast forward", what am I missing? и попробовал the solution referenced there. Это было частично эффективным. Я пошел прямо на редактирование противоречивого файла и нашел >>>>> и < < < < < марки. Я смог отредактировать и сохранить файл, и когда я добавил его в индекс, метки исчезли.

Но все еще была проблема. Мой файл содержал оба изменения, которые были помечены как конфликтующие, и изменения, не отмеченные как конфликтующие. Когда я редактировал файл непосредственно ТОЛЬКО, конфликтующие изменения были в файле. Не проблематичные изменения не попали в файл. Чтобы получить те, мне пришлось вручную сравнить рабочее пространство с веткой и переместить их.

Sheesh.

Итак, вот что у нас есть.

  1. «Объединить инструмент» хуже, чем бесполезно для разрешения конфликтов. Он удаляет отметки >>>>>, что затрудняет ручное редактирование. Кроме того, «Команда -> Добавить в индекс» не работает после использования инструмента слияния. Не используйте его! По крайней мере, пока не будет выпущено исправление.

  2. Ручное редактирование будет работать, если в файл будут добавлены неконфликтные изменения.

Помимо этого, в любом случае конфликта не должно было быть. «Конфликт» составлял пустую строку и раздел нового кода. Если differencer не может понять это, это тоже проблема.

+0

Дайте [эту страницу] (http://www.firstaidgit.io) выстрел. – Shark

+0

Спасибо, но я не вижу там особого контента Eclipse. Я уверен, что это проблема Eclipse, а не проблема Git. –

ответ

1

К сожалению, с точки зрения истории есть Сброс -> Жесткий сброс. Это возвращает меня к предварительному слиянию. Я чувствую себя глупым из-за того, что разместил этот вопрос, но оставит его на месте, если кто-то другой ударит по этому поводу.