#visual-studio-2008 #version-control #tfs
#visual-studio-2008 #контроль версий #тфс #управление версиями #tfs
Вопрос:
Я продолжаю натыкаться на кирпичные стены, пытаясь объединить изменения в магистрали с веткой.
Примерно месяц назад магистраль (5.0) была разветвлена (до 6.0). С тех пор разработка велась в ветке 6.0, но в магистраль также были внесены исправления. Теперь я хочу обновить ветку 6.0.x всеми изменениями, которые были внесены в магистраль с тех пор, как ветка 6.0 была сформирована из магистрали 5.0 месяц или около того назад.
Есть ли какой-либо способ сделать это, не проверяя как магистраль (5.0.x), так и ветку (6.0.x) и используя сторонний инструмент для согласования различий?
Комментарии:
1. Я что-то упускаю? Функция слияния TFS в Source Control Explorer не работает для того, что вы пытаетесь сделать?
2. Я полагал, что в нем есть встроенная функция, которая выполняет подобные действия, просто не мог понять, как ее запустить. То, что я пытался сделать, это проверить магистраль (5.0), развернуться и проверить ее в ветке 6.0 — что, конечно, неправильный способ сделать это.
Ответ №1:
Вы можете легко сделать это с помощью проводника системы управления версиями. Это описано в http://msdn.microsoft.com/en-us/library/ms181282 (v = VS.90).aspx, прокрутите вниз до раздела Объединение элементов управления версиями.
В проводнике системы управления версиями щелкните правой кнопкой мыши папку магистрали 5.0 и выберите Объединить. В мастере слияния управления версиями в текстовом поле Source Branch отображаются путь и имя для папки магистрали 5.0.
В раскрывающемся списке Целевая ветка выберите папку филиала 6.0.
В разделе Выберите изменения исходной ветви, которые вы хотите объединить, выберите все изменения до определенной версии и нажмите Далее.
На шаге «Выберите версию исходных элементов» в раскрывающемся списке «Тип версии» выберите «Последняя версия» и нажмите «Далее».
На шаге Выполнить операцию слияния нажмите Готово.
Поскольку существуют различия между исходной и целевой ветвями, появляется диалоговое окно «Разрешить конфликты». Следуйте инструкциям в следующей процедуре для разрешения конфликтов. Если конфликтов нет, диалоговое окно Разрешить конфликт версий отображаться не будет.
Комментарии:
1. Это близко, но на самом деле я хотел сделать обратное. Я не хотел менять магистраль 5.0.x, я только хотел обновить ветку 6.0. Я смог сделать это, щелкнув правой кнопкой мыши по «Текущей» папке и выбрав «Объединить», затем в целевой ветке выбрав папку филиала «6.0». Затем слияние переместило изменения в магистраль в ветку, что я и хотел. Спасибо, что указали на эту функцию. Это немного скрыто.