Как вы делаете слияния, используя Git, Eclipse и Egit - PullRequest
13 голосов
/ 26 марта 2010

Я, как и многие другие, люблю Eclipse как мой идеал выбора, и из-за того, как я работаю (передвигаюсь, в разных местах, в разных проектах) хочу использовать Git для CVS.

В Eclipse есть плагин для Git, Egit , который сейчас является официальным проектом Eclipse и в настоящее время имеет версию 0.7.1. Поскольку я только начал использовать его, меня интересует, как другие используют его и какие обходные пути они используют. В настоящее время Egit не поддерживает слияния, поэтому их нужно выполнять вне Eclipse, а затем обновлять рабочую область.

Итак, как вы справляетесь с этой задачей? (и любые другие задачи, которые Egit не выполняет прямо сейчас)

Ответы [ 3 ]

29 голосов
/ 19 октября 2011

Только для справки, EGIT теперь поддерживает слияния и использует мощный интерфейс diff в eclipse.

После того, как вы получили код и запустили слияние, при возникновении любых конфликтов они выделяются в проводнике проекта.с красным!, вы можете затем щелкнуть по ним правой кнопкой мыши и перейти в Team> Merge Tool, который не содержит призраков для конфликтующих файлов.

После того, как вы выбрали код, который хотите использовать (Либо версия рабочей областис разностными аннотациями или версией HEAD, которая вызвала конфликт) откроется окно различий.

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

Как только вы будете довольны изменениями, сохраните ваш файли добавьте его, затем зафиксируйте результаты, и все готово.

Обратите внимание, что я ни в коем случаеМастер хорошей практики git, поэтому, пожалуйста, не стесняйтесь исправлять меня, если это не лучшие операции, но это был ответ на вопрос «Как мне слиться в затмении с egit».

8 голосов
/ 26 марта 2010

При работе с Eclipse я использую egit только для фактической фиксации. Все остальное я делаю просто через командную строку. Командная строка в git (или любой другой VCS) намного лучше, и программное обеспечение фактически было создано с учетом командной строки, поэтому вполне естественно, что вы можете получить доступ к фактически каждой функции через командную строку.

Все остальное использует только командную строку в фоновом режиме и пытается эмулировать другой интерфейс, собственный для хост-приложения (здесь: Eclipse). Но, делая это, вы никогда не сможете достичь той же мощности, что и при использовании оригинальных инструментов.

Однако я думаю, что когда egit развивается больше, это может быть хорошим способом работы с git; аналогично тому, как плагин Subversion для Eclipse хорошо работает с большинством функций. Но в моей ситуации я не использую Eclipse для всего, и тогда использование командной строки намного проще, чем пытаться привыкнуть к множеству различных плагинов и командной строки.

0 голосов
/ 15 июня 2014

Один из способов преодоления конфликта слияний Egit - создать резервную копию файла, удалить его из затмения, вернуть из резервной копии, добавить в индекс и зафиксировать.

Это должно быть сделано, только если вы не можете разрешить конфликт с помощью обычного метода Add to Index-> ​​Commit.

PS: я предполагаю, что вы уже разрешили конфликт вручную или с помощью инструмента слияния Egit, но просто не можете удалить маркер конфликта в файле.

...