Если вы хотите синхронизировать ветви так, чтобы дочерняя ветвь была идентична родительской, я бы просто взял новую ветвь у родительской. Это самый простой способ убедиться, что они абсолютно одинаковы. Затем вы можете удалить \ заархивировать старую дочернюю ветку.
При слиянии от родительского к дочернему TFS проверит все файлы в ветви, и к нему применяются следующие правила
- Если файл был изменен в родительском, но не в дочернем (так как дочерняя ветвь была создана), то файл из родительского файла перезапишет файл в дочернем.
- Если файл в дочернем элементе был изменен, но не в родительском (так как дочерняя ветвь была создана), то файл в дочернем элементе не будет перезаписан
- Если файл был изменен как в дочернем, так и в родительском (так как дочерняя ветка была создана), то TFS откроет вкладку разрешения конфликтов, и вам будет предоставлена возможность сохранить либо версию файла, либо объедините файлы, создав 3-ю версию, содержащую комбинацию изменений.
На вкладке разрешения конфликтов вы можете выбрать все файлы и сохранить версию от родительского. Однако любые файлы, измененные только в потомке, не будут перезаписаны (см. Пункт 2)
Вы также можете использовать параметр командной строки
tf merge $/Project/Parent $/Project/Child /force /recursive
Это скажет TFS попытаться объединить файлы, которые, по ее мнению, уже были объединены с файлом. Я все еще не думаю, что он объединит файлы, которые не изменились с тех пор, как был создан ребенок.