Переименовать ветку, а затем повторно использовать имя для новой ветки?
В настоящее время у нас есть такая структура веток: Develop -> Release. Я хочу изменить его так, чтобы он выглядел так, как называется документ " Руководство по ветвлению TFS " "Базовый план филиала". Похоже, это разработка <- Main -> Release.
Я собирался сделать это:
- Переименовать Develop в Main (создание Main -> Release)
- Создание ветки из этого Main с повторным использованием имени "Develop" (создание Release <- Main -> Release)
Будут ли у меня проблемы с повторным использованием старого имени ветви для новой ветви? Знаете какие-нибудь ошибки или вещи, на которые стоит обратить внимание?
Спасибо!
Дополнительная информация Я сделал это в тестовом экземпляре, создав тестовые ветки без каких-либо файлов, ожидающих изменений, истории и т. Д. (Не очень хороший реальный тест), и TFS позволил мне легко переименовывать и переходить. Однако я не буду чувствовать себя комфортно, если не смогу взять нашу производственную коллекцию проектов TFS, восстановить ее в тестовом экземпляре и протестировать переименование / ветвь на реальных данных. Там много истории и филиалов, и я не знаю, что произойдет. Как отмечено в ответе, перед этим есть и другие соображения.
2 ответа
Я готовлюсь к выполнению аналогичных шагов (за исключением того, что я перемещаю подпапки местоположения как родителя, так и ребенка, пока внуки остаются на месте.)
ВОПРОСЫ:
- Когда вы планируете переименовать?
- Есть ли дочерние ветки в ветке Develop, которые вы не упомянули?
- У вас есть какие-либо полки против Develop, на которые может повлиять переименование?
Общий ответ: действуйте с осторожностью. Из моей читающей ветки переименование в TFS2010 может вызвать несколько неожиданных побочных эффектов. TFS будет выполнять следующие шаги (под капотом) для вашего сценария:
- Переименуйте Develop в Main ==> Ветка Основная ветка из Develop, затем удалите ветку Develop
- Создать новую ветку "Разработка" из Main
Я рекомендую прочитать следующие сообщения:
Переименование веток в TFS 2010 (блог ChandruR)
"Блоги MSDN> Блог ChandruR> Переименование веток в TFS 2010 Итак, мои рекомендации для этого случая:
- Избегайте переименования ветвей - более подходящим решением было бы в нужной точке вашего выпуска объединить все изменения в родительскую ветвь, а затем повторно выполнить ветвление, чтобы создать новую иерархию ветвей.
Или для храброго сердца:)
- Вам нужно будет приурочить время переименования вашей ветви к точке в вашем выпуске, где вы сможете объединить все связанные ветви. Следующие шаги: ..."
Переименование веток в TFS2010 - но это работает на моем ПК!
"В TFS 2010 за кулисами переименование на самом деле является процессом ветвления и удаления, это означало, что мы получили новую ветвь, а также удаленную ветвь старого имени. Это не очевидно, если вы не включили "показ удаленных элементов в проводнике управления источниками"… "
"Теперь реализовано как ветка + удаление за кулисами (новое имя ветвится от старого, затем старое имя удаляется). Это позволяет отслеживать в истории, но позволяет обойти проблемы с объединением переименований (см." Добавить "," Переименовать "). Добавить сценарий). "
,
СЛУЧАЙНЫЕ МЫСЛИ
- Заставьте всех разработчиков слить (или отменить) все безопасные изменения в дочерних ветвях Dev. Также удалите любые неактивные ветви перед переименованием.
- Читайте выше статьи.
- Выполните поиск, чтобы найти страницу (которую я еще не нашел), которая точно описывает, что произойдет в более простых терминах на основе реального опыта. В частности, я хотел бы знать, что происходит с полками в ветви Develop после ее переименования в Main. (Следующий шаг может ответить на это.)
- Вы можете создать командный проект "Песочница" (или коллекцию командных проектов), а затем попробовать свой сценарий, чтобы увидеть, есть ли серьезные проблемы.
- Выберите правильное время (см. Ссылку № 1) и сделайте это.
- Проверьте историю, выполните слияние переименованных веток, проверьте историю еще раз.
- Разрешить разработчикам вернуться.
Удачи, и отправьте обратно с любой новой информацией (включая ваши конечные результаты)! -zs
К сведению: Для получения подробной информации о конструкции TFS2010 см. Изменение режима слота в TFS 2010 Version Control.