Откат основной ветки до версии, предшествующей существующему, неотключенному отношению ветвей - PullRequest
0 голосов
/ 24 января 2019

У меня есть следующее дерево 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 , которые я бы хотел избежать, если бы на пару недель стоило работа содержится внутри?

Кроме того, существует ли более эффективный и / или прямой подход к "восстановлению" этого дерева?

...