Как продвигать дочернюю ветвь как ветку Trunk в Team Foundation Server - PullRequest
2 голосов
/ 09 октября 2019

В Team Foundation Server у нас есть несколько дочерних веток и ветка Trunk. Но теперь нам нужно выдвинуть дочернюю ветвь как ветку Trunk и отбросить текущую ветку Trunk. Кроме того, нам нужно поддерживать историю как предыдущей ветви Trunk, так и дочерней ветви.

PS: Мы не можем объединить текущую ветку Trunk и дочернюю ветку из-за огромных конфликтов по всему проекту.

Пожалуйста, также просмотрите визуальное представление: Visual representation

1 Ответ

0 голосов
/ 10 октября 2019

Даже не зная всего контекста, это не похоже на хорошую стратегию ветвления в вашей среде.

Если вы хотите переопределить для другой ветви, вы должны установить связь между двумясначала разветвляется.

Единственное решение - безосновательное слияние: tf merge /baseless После этого вы увидите новую целевую ветвь в диалоге. Для получения более подробной информации и шагов, пожалуйста, обратитесь к этому блогу: Родитель ветки с управлением исходным кодом TFS.

Вы также можете посмотреть мой ответ на этот вопрос: Родителем TFS будетвнук

Мы не можем объединить текущую ветку Trunk и дочернюю ветку из-за огромных конфликтов по всему проекту.

Без фактического обновления каких-либо файлов вдочерняя ветвь во время безосновательного слияния, с набором переключателей /discard , позволила нам создать отношения между ветвями, не изменяя дочернюю ветвь и не отключая отношения без ожидающих слияний между ними:

tf merge $/Path/To/NewParent $/Path/To/Child /baseless /discard /recursive

Затем можно просто переопределить дочернюю ветвь для новой родительской ветви.


Обновить

Если вы просто хотите заменить соединительную линию наДочерний ветвь кода. Он не может достичь этого просто с помощью процесса слияния. Например, мы не могли удалить любые файлы, которые существуют только в ветке ствола во время процесса слияния. (От child → trunk)

В качестве обходного пути вы можете просто удалить все коды / файлы сначала в ветви trunk, а затем объединить дочернюю ветку обратно в trunk. После этого ветка Trunk будет иметь только дочерний код ветки.

Если вам все еще нужен старый код в транке, перед удалением файлов вы можете создать новый вызов ветки «старый транк», объединить код из транка и сделать его только для чтения для отслеживания.

...