Check-In в новую ветку в Team Foundation Server 2013

Представим следующую ситуацию: вы пилите некоторую функциональность в основной ветке проекта (бывает такое, согласитесь?).
В некоторый момент приходит осознание того, что заливать это в TFS нет никакой возможности (фича не доделана, появились более приоритетные задачи…).
И удалять, конечно же, тоже нельзя.

Единственно верное решение – создать новую ветку и отправить изменения в неё. Однако, как оказалось, это не так-то и просто:

Алгоритм:

  1. Создаем Shelvset “feature for new branch” в основной ветке (пусть она называется MAIN)
  2. Создаем ветку от MAIN MyNewFeature
  3. Устанавливаем Team Foundation Server Power Tools
  4. В Visual Studio Command Prompt выполняем команду:
    tfpt unshelve /migrate /source:$/MyAwesomeProject/MAIN /target:$/MyAwesomeProject/MyAwesomeFeature, где $/MyAwesomeProject адрес проекта в TFS.
    На этом шаге возможна ошибка “Unable to determine the workspace”. Исправляется переходом в папку с Source-веткой проекта в файловой системе (cd d:/projects/MyAwesomeProject/MAIN)
  5. После того, как выполните команду – появится окно с выбором автора Shelveset-а со списком его Shelveset-ов
  6. Выбираете созданный на первом шаге shelveset “feature for new branch” и кликаете “Ок”
  7. Открываете target-ветку в TFS, чекините изменения.
  8. Готово!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s