У меня есть следующее дерево TFS, которое включает в себя ветку Main и две группы / папки Dev и Rel
Dev
- SearchFeature1
- SearchFeature2
- Рефакторинг
Main
Rel
- [x] 2.4.0 (SearchFeature1)
Также ниже приведены соответствующие истории вышеуказанных ветвей
Main
- 2201 Слияние с филиала SearchFeature1
- 1978 Слияние с филиала Рефакторинг
Rel \ SearchFeature1
- 2202 Отделение от основного
Dev \ SearchFeature2
- 2203 Отделение от основного
Я удалил ветку Rel \ 2.4.0 , которая была ненужной, пустой, ошибочно названной и не синхронизированной (в истории была только одна запись). Я понимаю, что мог бы переименовать его, но не хотел возиться с переносом удаленной ветви для отдельной записи слияния, и при этом я не хотел искать дополнительную ветку, чтобы найти запись слияния.
Вместо этого я хочу, чтобы изменения Refactoring были 2,4.0.
Я выгрузил ветку релиза для SearchFeature1 , чтобы я мог запустить SearchFeature2 , пока он находился в процессе тестирования, но теперь понимаю, что это неправильный подход, поскольку исправления для любых обнаруженных ошибок требуется изменение ветки, а ветки выпуска должны оставаться неизмененными (https://semver.org/).
Чтобы усугубить проблему, я также пропустил ветку релиза для Рефакторинг , и, поскольку она могла быть развернута, мне сейчас нужна одна для нее, которая вместо этого должна быть 2.4.0 поддерживать синхронизацию.
Один из подходов к этому, я полагаю, будет:
- Откат Основной до 1978
- Филиал Основной до Отн \ 2.4.0 ( Рефакторинг )
- Слияние Dev \ SearchFeature1 обратно в Main
Я не уверен, как это повлияет на отношения между ветвями между SearchFeature2 и Main , которые я бы хотел избежать, если бы на пару недель стоило работа содержится внутри?
Кроме того, существует ли более эффективный и / или прямой подход к "восстановлению" этого дерева?