Check-In в новую ветку в Team Foundation Server 2013
Представим следующую ситуацию: вы пилите некоторую функциональность в основной ветке проекта (бывает такое, согласитесь?). В некоторый момент приходит осознание того, что заливать это в TFS нет никакой возможности (фича не доделана, появились более приоритетные задачи…). И удалять, конечно же, тоже нельзя. Единственно верное решение – создать новую ветку и отправить изменения в неё. Однако, как оказалось, это не так-то и просто: Алгоритм:
- Создаем Shelvset “feature for new branch” в основной ветке (пусть она называется MAIN)
- Создаем ветку от MAIN MyNewFeature
- Устанавливаем Team Foundation Server Power Tools
- В 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
) - После того, как выполните команду – появится окно с выбором автора Shelveset-а со списком его Shelveset-ов
- Выбираете созданный на первом шаге shelveset “feature for new branch” и кликаете “Ок”
- Открываете target-ветку в TFS, чекините изменения.
- Готово!