Есть несколько способов сделать это, но оба они не так хороши.Для первого способа вам необходимо установить TFS 2010 электроинструмент
Использовать набор полок.Начните слияние с dev на базу, разрешите любые конфликты.Не проверяйте слияние, вместо этого отложите изменения.Затем из командной строки используйте tfpt unshelve "my shelve set" /migrate /source:$/teamProject/dev /target:$/teamProject/integration
.Это перенесет отложенные изменения в ветку интеграции без необходимости фиксировать изменения в базовой ветке.
Выполнить безосновательное объединение между dev и интеграцией.Вы можете сделать это, используя команду tf merge $/teamProject/dev $/teamProject/integration /baseless /recursive
, когда безосновательное слияние установило отношения ветвления, и затем вы можете выполнять дальнейшие слияния через пользовательский интерфейс.Имейте в виду, что безосновательное слияние не будет знать ни о каких файлах или папках, которые были переименованы или перемещены, поэтому вам необходимо убедиться, что вы приняли это к сведению.
Лично я бы выбрал вариант 1, если это разовая вещь.Если это будет чем-то, что, по вашему мнению, вам нужно будет делать регулярно, то я сделаю необоснованное слияние, когда все 3 ветви синхронизированы, т.е. сразу после того, как вы слились с dev в base для интеграции.Это должно минимизировать любые проблемы с необоснованным слиянием.
Возможно, вы также захотите взглянуть на свою стратегию ветвления, чтобы вам не приходилось выполнять сложные операции слияния очень часто.Если вы используете ветку интеграции, то она должна иметь прямую связь с любыми ветками, которые вам нужно интегрировать.Ознакомьтесь с руководством по разветвлению ALM .