2010-11-30 3 views
2

У нас есть несколько разработчиков, работающих над проектом. Мы с использованием метода функционально ветви ветвления, в которых мы следующее:SVN: Объединение двух ветвей вместе

  1. Все работы по техническому обслуживанию и исправления ошибок делаются на стволе
  2. Все новые функциональные возможности делается на новой ветке
  3. Филиал регулярно обновляется (путем слияния изменений с магистрали на филиал)

Однако мы столкнулись с ситуацией, когда две ветви [мы будем называть их функцией-веткой-1 и функцией-веткой-2] для объединения. Каков наилучший способ сделать это? Часть меня думает, что мы должны создать новую ветвь. Затем слейте эту ветвь с первой ветвью функций [feature-branch-1]. А затем объединитесь со второй ветвью функций [feature-branch-2] и позаботьтесь о конфликтах (которые, скорее всего, будут файлами проекта).

Есть ли лучший способ?

Спасибо, ребята!

+1

Если вы идете с идеей, убедитесь, что вы как можно скорее удалите ветвь функции-1 и функцию-ветвь-2 или ограничите любые фиксации этих ветвей, если важна история в этих ветвях. Усилия по развитию должны быть на новой ветке, а не на старой. – jgifford25 2010-12-01 16:22:23

ответ

1

Ооо слияние. Любить это.

Если вы хотите объединить функцию-ветку-1, функцию-ветвь-2 и багажник в какую-то новую ветку, тогда да - ваш путь хорош. В противном случае я бы не тратил драгоценное время и просто копировал функцию-ветвь-1 и объединил в нее функцию-ветвь-2. Возможно, вы уже сделали это, вместо того, чтобы задавать этот вопрос: D

+0

У нас много конфликтов, потому что оба филиала регулярно обновляются.они оба имеют изменения от туловища, и теперь он жалуется, что эти изменения находятся в конфликте (они все те же) – 2011-08-08 11:40:20

0

Предполагаю, вы регулярно сливаете ствол и ветви, не так ли? Если это так, после этого слияния ствол и ветви одинаковы, и вы можете просто отбросить одну из ветвей и продолжить использовать другую.

Если вы не хотите сливаться с багажником, вы все равно можете объединить одну ветвь во вторую и продолжить использовать вторую.

0

Соединяет текущее состояние одной из ветвей функций, чтобы соединил опцию? Если это так, я рекомендую слить эту ветвь функции в магистраль, а затем обновить другую ветвь функции до последней в trunk. Таким образом, вы избегаете создания дополнительной ветки и избавляетесь от одной из ветвей.

+0

Не вариант. Мы используем соединительную линию только в том случае, если ветвь функциональности тщательно протестирована и одобрена в нашей среде песочницы. Затем эта ветвь интегрируется обратно в багажник и проходит через наш другой процесс: testing-> staging-> production. – StephenPAdams 2010-11-30 19:33:56

1

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

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

+0

Yup. Это идея. В принципе, эти две ветки будут слиты, и все развитие будет сделано там. Предыдущие ветви будут удалены. – StephenPAdams 2010-12-01 17:19:40

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