TFS: Обновление ветки с изменениями из основной


100

Итак, у нас есть основная линия разработки, я создаю ветку, а разработчик b создает ветку. Мы оба работаем. разработчик b завершает свою работу, снова сливается с основной строкой разработки. Я знаю, что его изменения повлияют на меня, и вместо того, чтобы разбираться с конфликтами позже, я хотел бы обновить свою ветку изменениями, которые сейчас находятся в основной строке разработчика, чтобы я мог иметь дело с ними в своей ветке до слияния обратно в главную.

Как я могу это сделать?

Ответы:


176

В Visual Studio откройте обозреватель управления исходным кодом:

  • Просмотр | Team Explorer
  • Выберите свой командный проект в Team Explorer, разверните его и дважды щелкните Source Control.
  • На левой панели Source Control Explorer выберите свой командный проект .
  • На правой панели найдите свою основную ветку, щелкните правой кнопкой мыши и выберите Объединить ...
  • В раскрывающемся списке Целевая ветка выберите свою ветку разработчика.
  • Если вам нужна часть всех изменений в основной ветке:
    • Выберите переключатель « Выбранные наборы изменений » и нажмите « Далее» .
    • Выберите наборы изменений, которые представляют собой слияние другой ветки разработчика с основной, нажмите « Далее» .
  • В противном случае оставьте все изменения до определенной версии выбранными, нажмите Далее
    • На следующем шаге вы выбираете тип версии. По умолчанию, последняя версия , очевидно, проста и не требует пояснений: вы будете переносить все изменения с момента создания вашей ветки из основной ветки в свою ветку. Другие варианты просты, но учебное объяснение каждой доступной здесь опции займет довольно много места.
    • Пройдите оставшиеся шаги мастера.
  • Щелкните Готово .
  • Если есть какие-либо ошибки или конфликты слияния, вам будет предложено разрешить их, аналогично тому, что вы увидите, если проверяете свои изменения в системе управления версиями, когда с момента последней проверки были внесены другие изменения.
  • После слияния все изменения находятся в вашей локальной копии ветки, но они еще не зафиксированы в системе контроля версий. После того, как вы завершили все сборки и тестирование в своей ветке, вы можете проверить слияние. Из Visual Studio:
    • Просмотр | Другие окна | Ожидающие изменения
    • Убедитесь, что все файлы, связанные с этим слиянием, отмечены, добавьте комментарии, описывающие слияние, и нажмите « Вернуть» .

Я рекомендую сохранять слияния (и любое необходимое разрешение конфликтов слияния, разрывы сборки, тесты) как отдельный набор изменений. То есть не смешивайте работу с другими функциями со слияниями. Фрагментарные наборы изменений значительно упрощают просмотр истории системы управления версиями и выявление единственного интересующего изменения. Сохранение работы слияния в собственном наборе изменений помогает достичь этой цели.

Также есть командная строка для слияния, запускаемая tf merge /?из командной строки Visual Studio.

Удачи и приятного времяпровождения!


1
Работает отлично. Спасибо. Просто хотел убедиться, что поступил правильно. Это потрясающе.
CaffGeek

Что, если бы меня попросили разрешить конфликты, я ошибся в том, как разрешить конфликт, и хотел бы исправить это только для этого одного файла. Можно ли вернуть этот один файл и повторно объединить этот один файл, чтобы получить второй шанс при слиянии конфликтов?
Дидье А.

Что, если я хочу объединить конкретную метку из исходного Main в мою целевую ветку? Желаемый ярлык создается после исходной операции ветвления (для ясности)
Саймон Босли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.