Подтвердить что ты не робот

Как объединить ветвь CVS в HEAD с помощью инструментов объединения Eclipse?

В настоящее время я работаю в ветке, созданной с помощью Team → Branch. Как использовать команду → Объединить, чтобы объединить мои изменения с веткой назад?

4b9b3361

Ответ 1

У меня тоже были проблемы с этим. Вот шаги, которые я предпринимаю для слияния (в основном, из справочной системы Eclipse):

  • При создании моей ветки развития (Team → Branch) я гарантирую, что у меня есть корневой тег, созданный для ветки, это тег, который CVS будет использовать для определения того, какие изменения произошли из-за ветки и что могло быть сделано другими усилиями.
  • Я завершаю свою разработку в ветке и фиксирую (Team → Commit), все изменения возвращаются в репозиторий
  • Теперь, когда все мои изменения для ветки находятся в репозитории, я загружаю ветку назначения, в которую я хочу объединиться, обычно HEAD (Team → Switch to Another Branch или Version)

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

Слить:

  • Команда → Объединить
  • Филиал или версия, которые должны быть объединены (конечный тег): это имя тега ветвления разработки
  • Общая базовая версия: это имя вашего корневого тега для ветки (помните, шаг 1 из предыдущего раздела?). Это должно быть автоматически заполнено инструментом, но если нет, добавьте его самостоятельно.
  • Мне нравится Предварительный просмотр слияния в режиме синхронизации, поэтому я могу гарантировать, что ничего не получается, что не должно быть. В зависимости от вашей храбрости, это вариант, который я бы предложил. Нажмите кнопку Готово
  • Появится сообщение "Синхронизировать перспективы", и любые различия, обнаруженные между веткой адресата и веткой вашего источника, будут показаны в расширяемом списке слева.
  • Для любого файла вы можете открыть его в инструменте сравнения, чтобы увидеть, что это было до этого, и объединить изменения по отдельности (не забудьте сохранить файл по завершении!), или вы можете щелкнуть правой кнопкой мыши по файлу и выбрать слияние из расширяемого списка. Если вы вручную слились с инструментом сравнения, вы можете выбрать "Отметить как объединенное" в расширяемом списке, чтобы удалить файл из списка todo.
  • Как только вы решите, что делать с файлом, он будет удален из списка. Цель состоит в том, чтобы воздействовать на каждый файл.
  • Теперь, когда все ваши изменения были объединены, переключитесь обратно в перспективу Java и выберите Team → Synchronize with Repository, появится синхронизация перспективы.
  • На этот раз выберите Commit, чтобы переместить все ваши изменения в репозиторий.
  • Fin!

Надеюсь, что это помогло. Ниже приводится справочный документ, который помог мне победить!

Справка Eclipse SDK - Объединение ветки

Ответ 2

Убедитесь, что пункт назначения загружен в ваше рабочее пространство. Это самая важная часть и часть, которую я пропустил, пытаясь сделать это несколько раз.

Например, если вы хотите объединить свои изменения в HEAD, убедитесь, что проект используется совместно с HEAD в вашей рабочей области (а не в ветки, над которой вы работали). Для этого выберите проект и выберите Team > Replace With > Another Branch or Version в контекстном меню. Затем выберите ветку для замены.

С этого момента выберите Team > Merge, а затем выберите ветку, которую хотите объединить в HEAD.

Ответ 3

Я согласен, что это работает по-другому, если изменения в YOUR_BRANCH должны быть обновлены до HEAD,

1) зафиксировать изменения в YOUR_BRANCH 2) обменять локальную ветвь на HEAD 3) слияние изменений HEAD, сделанных в YOUR_BRANCH

поэтому вам нужно быть в HEAD и "принимать" изменения от YOUR_BRANCH (вместо отправки изменений от YOUR_BRANCH к HEAD).

Ответ 4

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

  • Как уже говорилось, убедитесь, что ваша ветвь детекции (обычно голова) уже проверена.
  • Затем выделите файлы, которые, как вы знаете, изменили в своей ветке (или весь проект, что угодно) и выберите Team -> Merge. В появившемся диалоговом окне выберите "Branch or version to be merged (end tag)", источник, который вы хотите принять файлов из.
  • В моем случае это авто заселил "Common base version (start tag)", но если это не так, это будет тег, который был создан когда была создана ветка.

Когда вы просматриваете изменения, они появятся в обычном представлении синхронизации CVS. Когда вы объединяете файлы, они будут перенесены в вашу локальную рабочую область (которая раньше была веткой назначения) в качестве изменений. На этом этапе вам нужно будет проверить их на CVS.

Ответ 5

Я тоже боролся с этим, и вышеупомянутый ответ не помог, пока я не проверил переключатель "Выполнить слияние в локальную рабочую область".

К сожалению, мне не удалось просмотреть мое слияние перед объединением двух файлов.

Ответ 6

Честно говоря, нет простого и чистого пути, если вы не ожидали и не планировали это слияние с момента разветвления.

Тем не менее, я нашел хак, который отлично работает, который Я описал в сообщении в блоге.