Обратная интеграция TFS обратно в основную

У меня есть ветка разработки, разветвленная из основной ветки.

Могу ли я объединить ветку разработки обратно с основной, чтобы код основной ветки был равен коду ветки разработки?

Какое самое безопасное и надежное решение для этого?


person MaSEL    schedule 15.01.2013    source источник
comment
Хм? Гм... так работает система управления исходным кодом... вы берете ветку, выполняете кодирование в ветке, а затем объединяете ее обратно в грузовик.   -  person Jeremy Thompson    schedule 15.01.2013
comment
Мне нужно, чтобы транш полностью равнялся ветке. Например, я могу создать какую-то дополнительную папку или дополнительные файлы в багажнике. И после простого слива из ветки эти файлы все равно будут существовать.   -  person MaSEL    schedule 15.01.2013


Ответы (2)


Самый простой способ, который я нашел для этого, — выполнить слияние с помощью Visual Studio и обозревателя системы управления версиями.

В обозревателе системы управления версиями щелкните правой кнопкой мыши ветку разработки и выберите Ветвление и слияние > Объединить.

В раскрывающемся списке Целевая ветвь выберите магистраль ("Основной") в качестве места назначения. Скорее всего, это выбор по умолчанию, если вы изначально разветвились с Main.

Есть два варианта:

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

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

Если у вас нет конфликтов, ваши изменения разработки переместятся в Trunk и просто сольются с изменениями, которые у вас уже есть.

person Jay S    schedule 15.01.2013

Я признаю, что на одном рабочем месте они объединили магистрали с ветвями, но это не должно работать таким образом.

Общепринятым методом является объединение ветки обратно в магистраль.

Похоже, вы работаете в магистрали («Я могу создать дополнительную папку или дополнительные файлы в магистрали») и хотите объединиться с веткой.

Я рекомендую делать это стандартным способом: работать только в ветвях, объединяющихся обратно в магистраль, никогда не программируя непосредственно в магистральной линии.

person Jeremy Thompson    schedule 15.01.2013
comment
Да, я знаю его. Я новичок в проекте, и сейчас мы пытаемся устранить промахи предыдущей команды, поэтому мне нужно рабочее решение. - person MaSEL; 15.01.2013
comment
Прямая интеграция — вполне жизнеспособная практика, если у вас одновременно работает несколько веток. Обычным явлением будет иметь ветвь выпуска, которая получает исправления ошибок, в то время как ветвь новой итерации работает над новыми функциями. Исправления ошибок должны вернуться в ствол, а затем в вашу новую итерацию, чтобы вы не потеряли их для следующего выпуска. - person Jay S; 15.01.2013