2016-08-16 7 views
4

До сих пор я просто слился с подходом fetch + merge, и если возник конфликт слияния, я исправил его вручную, поставил его и запустил. Это разрешилось просто отлично.EGit «synchronize workspace» не будет отмечать конфликт слиянием как разрешенный

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

Я попытался использовать слияние или натяжение, но вместо того, чтобы интегрировать изменение, он неожиданно сообщает мне, что существует конфликт слияния. Этот конфликт не должен происходить в первую очередь, но индексирование и фиксация снова не исправляют ошибку. Я синхронизируюсь с рабочей областью, и он продолжает показывать двухстороннюю красную ошибку на двух идентичных файлах ...

ответ

1

Попробуйте вместо этого выборку + rebase: вам придется снова разрешить конфликт, но как только это будет сделано, ваша исправленная фиксация должна быть в верхней части origin/master: следующая выборка ничего не должна делать, поскольку все было выбрано.

См this tutorial:

http://eclipsesource.com/blogs/wp-content/uploads/2012/09/Screen-Shot-2012-09-25-at-3.34.08-PM.png

+0

Как это поможет? Это будет интегрировать все изменения с начала – taclight

+0

@taclight no: он будет воспроизводить ваши локальные коммиты поверх оригинала/мастера. – VonC

+0

@taclight «он продолжает показывать двухстороннюю красную ошибку на двух идентичных файлах ...», между прочим, эти идентичные файлы отличаются от их имени? (как в нижнем регистре/размах upercase) – VonC

1

В моем опыте Synchronize Workspace путает большинство людей.

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

Я рекомендую не делать ничего в перспективе Team Synchronization. Просто сделайте pull (или fetch/merge), чтобы иметь эти конфликты в вашей рабочей копии, а затем разрешить их. Вы знаете, как это сделать. Если что-то ломается, и вы хотите, чтобы новая попытка сделала reset --hard на последнем коммите в вашем локальном репозитории и начните сначала.

+0

Имея Déjà-vu прямо сейчас – taclight

+1

Я согласен с тобой, Он меня смущает и не решает никаких проблем. –

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