У меня были некоторые похожие начальные проблемы с ветвлением и слиянием TFS (у нас есть dev, интеграция и основные ветки).
Короткая версия заключается в том, что вы не можете слиться непосредственно из наконечника с общим предком.
Таким образом, если C3 был разветвлен до C5, то C7 был разветвлен до C9, то, что предоставляет инструмент, имеет смысл в контексте того, как работает TFS. По сути, вам нужно перейти от C10 / C9 к C7, а затем от C7 к C3.
Другими словами, вот как мы работаем с многоуровневым ветвлением и слиянием в наших проектах.
Начнем с магистрали / магистрали.
Затем мы перейдем к ветви интеграции.
Затем мы (и это является ключевым) переходом от интеграции к нашим отдельным ветвям разработчиков, чтобы мы могли работать над будущими выпусками.
Поскольку изменения завершаются в ветке dev, мы сначала реверсируем интеграцию путем слияния с интеграцией в нашу ветку dev (поэтому мы выбираем все остальные изменения). Затем мы переходим к интеграции, переходя от нашей отдельной ветви разработки к общей ветви интеграции.
Как только интеграция проходит QA, мы затем реверсируем интеграцию, объединяя транк и интеграцию (на случай, если в main есть какие-либо исправления), а затем интегрируем все объединенные изменения в интеграции вплоть до main.
В день выпуска мы делаем одну последнюю ветвь от основной в новую ветку выпуска, которую мы затем развертываем.
По сути, в TFS вам всегда нужно идти вверх и вниз по дереву ветвления / слияния от ствола к ветке к ветке к листу - вы не можете в любой момент обойти ни один шаг в иерархии ветвей.
Метафорически, ветвь и слияние TFS больше похожи на ленивца, ползущего вверх по дереву и медленно спускающегося к концу ветки, не позволяющего потерять свою хватку по сравнению с обезьяной, прыгающей между ветвями;)
Требуется немного привыкнуть, но однажды сделанный (и особенно когда вы привыкли к парадигме прямой интеграции / обратной интеграции), он приносит удовольствие, особенно когда у вас есть несколько человек, которые все занимаются разработкой, и вам нужно обернуть все изменения, не запутавшись.
Надеюсь, это поможет!