Визулизация ветвления и объединения в Visual Studio Team Foundation...
Transcript of Визулизация ветвления и объединения в Visual Studio Team Foundation...
Практическое занятие
Визулизация Ветвления и
Объединения в Visual Studio Team
Foundation Server 2012
Версия практической: 11.0.51106.01 Обновление 1
Последнее обновление: 27.11.2012
СОДЕРЖАНИЕ
ОПИСАНИЕ ................................................................................................................................................. 3
УПРАЖНЕНИЕ 1: РАБОТА С ВЕТВЯМИ TEAM FOUNDATION SERVER ............................................. 4
УПРАЖНЕНИЕ 2: ВИЗУАЛИЗАЦИЯ ВЕТВЛЕНИЯ И ОБЪЕДИНЕНИЯ ................................................ 9
Описание
В этой практической работе вы познакомитесь с поддержкой визуализации ветвления и
объединения в Visual Studio Team Foundation Server 2012. Эта возможность позволяет гораздо
проще понять иерархию ветвей решения и распространение изменений во время процесса
объединения.
Предварительные требования
Чтобы выполнить это практическое занятие, вам необходима виртуальная машина Visual Studio
2012 предоставляемая Microsoft. Для получения дополнительной информации по получению и
использованию этой виртуальной машины, пожалуйста, см. это сообщение в блоге.
О сценарии Fabrikam Fiber
Этот набор заданий использует вымышленную компанию Fabrikam Fiber, как фон к сценариям,
которые вы изучите. Fabrikam Fiber обеспечивает кабельное телевидение и связанные службы в
Соединенных Штатах. Они быстро растут и используют Windows Azure, чтобы масштабировать их
внешний веб-сайт, который используется непосредственно конечными пользователями, чтобы
позволить использовать карточки самообслуживания и отслеживать технический персонал. Они
также используют собственное приложение ASP.NET MVC для их представителей по
обслуживанию клиентов, чтобы администрировать потребительские заказы.
В этом наборе практических заданий вы примете участие во многих сценариях, которые включают
команду разработки и тестирования в Fabrikam Fiber. Команда, которая состоит из 8-10 человек,
решила использовать инструменты управления жизненным циклом приложения Visual Studio,
чтобы управлять их исходным кодом, выполнять их сборки, тестировать их веб-сайты,
планировать и отслеживать проект.
Упражнения
Это практическое занятие содержит следующие упражненния:
1. Работа с ветвями Team Foundation Server
2. Визуализация Ветвления и Объединения
Оценочное время выполнения заданий: 30 минут.
Упражнение 1: Работа с ветвями
Team Foundation Server В этом упражнении вы узнаете о возможностях ветвления исходного кода в Team Foundation
Server и как открыть решение, которое соответствует определенной ветви. Кроме этого это
упражнение будет служить установочным для сценария, где промышленный код, который
необходимо обновить и изменить, в конечном итоге будет объединен через активные ветви в
системе.
1. Зарегистрироваться как Julia. Пароли у всех пользователей P2ssw0rd.
2. Открыть Microsoft Visual Studio из Start | All Programs | Microsoft Visual Studio 2012 | Visual
Studio 2012.
3. Открыть окно Source Control Explorer из View | Other Windows | Source Control Explorer.
4. Решение Fabrikam Fiber содержит основной код (в Main), код разработки (в Dev), а
также релизные ветви (в Releases). Ветви являются объектами первого уровня, которые
представлены их собственным значком в Source Control Explorer.
Рисунок 1
Source Code Explorer демонстрирующий ветви и папки
5. Нажмите Правой кнопкой мыши на ветви Release1 и выберите Advanced |Properties из
контекстного меню. Окно Properties описывает основные сведения, такие как версия и
описание, иерархические связи с другим ветвями и разрешения.
Figure 2
Окно Properties ветви кода
6. Нажмите кнопку Cancel, чтобы вернуться в Source Control Explorer.
7. Откройте узел Release1 в папке Releases откройте решение FabrikamFiber.CallCenter.sln в
папке FabrikamFiber.CallCenter.
Рисунок 3
Расположение решения Fabrikam
8. Перестройте решение (Build | Rebuild Solution из главного меню). Этот шаг займет
несколько минут до завершения.
9. Убедитесь что проект FabrikamFiber.Web установлен как начальный (правой кнопкой
мыши нажать и выбрать Set as StartUp Project).
10. Нажмите Ctrl+F5 для запуска внутреннего портала Fabrikam Fiber.
Figure 4
Страница по умолчанию для сайта Fabrikam Fiber
11. Представьте себе сценарий, где ветвь Release1 представляет код, который в настоящее
время на рабочем веб-сервере. Руководство приняло решение как можно скорее
исключить нефункциональные ссылки в левой части страницы в разделе профиля. Мы
решили «быстро провести» это изменение, делая обновление непосредственно в Release1.
Позже вы увидите, как мы может объединить эти изменения обратно в ветвь Dev, так чтоб
они стали частью изменений, которые мы делаем для следующего релиза. Закройте окно
Internet Explorer и вернитесь в Visual Studio.
12. Наша задача состоит в обновлении ветви Release1 и применении изменений на
промышленный веб-сервер. В Solution Explorer откройте _Profile.cshtml из папки
FabrikamFiber.Web | Views | Shared в ветви release1.
13. Закомментируйте от ссылки My tickets до ссылки Schedule как показано ниже.
Рисунок 5
Изменение разметки страницы
14. Нажмите Ctrl+F5 для запуска веб-сайта и проверки, что нефункциональные ссылки больше
не отражаются. В целях этой демонстрации предположим, что мы все удачно развернули
на промышленный сервер.
15. Закройте окно Internet Explorer и вернитесь в Visual Studio.
16. Откройте окно Pending Changes из View | Other Windows | Pending Changes.
17. В поле Comment введите “удалены неработающие ссылки из профиля”, проверьте, что
только _Profile.cshtml был изменен, и нажмите кнопку Check In.
Рисунок 6
Возврат ожидающих изменений в ветвь Release1
18. В следующем упражнении мы объединим изменения в другую ветвь системы.
Упражнение 2: Визуализация
Ветвления и Объединения В этом упражнении вы узнаете, как визуализировать и отслеживать наборы изменений при
объединении изменений, которые вы сделали в предыдущем упражнении.
1. В Source Control Explorer нажать правой кнопкой мыши на ветви Release1 и выбрать View
History из контекстного меню.
Рисунок 7
История изменений ветви Release1 (ваш набор изменений может иметь другой номер)
2. Нажмите правой кнопкой мыши на наборе изменений, которые только что
зарегистрировали, и выберите Track Changeset из контекстного меню.
Рисунок 8
Отслеживание набора изменения по ветвям
3. В окне Select Branches ветвь Release1 уже выбрана. Выберите ветвь Dev и нажмите кнопку
Visualize, чтобы увидеть текущее состояние набора изменений как он переходил в другие
ветви.
Рисунок 9
Выбор ветвей для визуализации
4. Эта визуализация показывает нам, что набор изменений был применен к Release1, но не к
Dev. Это также делает понятным, что для того, чтобы объединить наши изменения в Dev,
нам нужно будет объединить сначала в ветвь Main.
Рисунок 10
Визуализация перемещения изменения
5. Для выполнения объединения этих изменений в ветвь Main, перетащите и бросьте
зеленый узел Release1 в узел Main. Это запустит Source Control Merge Wizard.
Рисунок 11
Инициализация объединения в другие ветви
6. Убедитесь, что исходная ветвь для объединения указывает на «Release1» и конечная ветвь
указывает на «Main». Нажмите кнопку Next для продолжения.
Рисунок 12
Первый шаг Source Control Merge Wizard
7. Следующее окно мастера объединения указывает версию для слияния. По умолчанию вы
должны увидеть набор изменений, которые вы зарегистрировали. Выберите кнопку Finish
для выполнения объединения.
Рисунок 13
Выполнение объединения (ваш набор изменений может иметь другой номер)
8. После завершения объединения откройте окно Pending Changes на правой стороне и
убедитесь, что _Profile.cshtml изменил статус для ветви Main и в настоящее время имеет
состояние «merge, edit». Процесс объединения завершился, но нам все еще нужно вернуть
ожидающие изменения.
Рисунок 14
Объединение завершено
9. Добавьте в Comment строку «Объединение быстро проведенных изменений из Release в
Main» и затем нажмите кнопку Check In для окончания внесения изменений.
Рисунок 15
Возврат изменений объединения
10. В окне Tracking Changeset нажмите кнопку Rerun для создания обновленного
представления. Вам необходимо нажать кнопку Visualize снова, когда появится окно Select
Branches.
Figure 16
Location of Rerun button
Рисунок 17
Текущее состояние, показывающее обновление объединений
11. Далее объедините набор изменений из ветви Main в ветвь Dev таким же методом
перетаскивания для запуска Source Control Merge Wizard.
12. Нажмите Next и Finish, чтобы запустить процесс объединения.
13. В окно Pending Changes введите в поле Comment значение “Объединение быстро
проведенных изменений из Main в Dev”.
14. Нажмите кнопку Check In для окончания объединения в ветвь Dev.
15. В окне Tracking Changeset нажмите кнопку Rerun, чтобы увидеть обновления.
Рисунок 18
Финальное состояние, которое показывает, как набор изменений объединялся по всем
ветвям
16. Еще одним полезным представлением является Timeline Tracking. Выберите кнопку
Timeline Tracking слева от кнопки Hierarchy Tracking, чтобы переключиться в этот режим.
Оно показывает порядок, в котором начальный набор изменений был объединен с
другими ветвями.
Рисунок 19
Расположение кнопки Timeline Tracking
Рисунок 20
Отслеживание в режиме Timeline Tracking
17. В Source Control Explorer перейдите к файлу _Profile.cshtml в ветви Dev, нажмите правой
кнопкой мыши и выберите Annotate из контекстного меню.
Рисунок 21
Расположение кнопки Annotate
18. Просмотрите аннотирование файла _Profile.cshtml и найдите HTML, который перед этим
закомментировали.
19. В столбце аннотации по левой стороне проведите мышью по недавним изменениям,
(должна быть показана дата для виртуальной машины). Обратите внимание, что путь
изменений и комментарии относятся к промышленной ветви, где первоначально были
сделаны изменения, даже несмотря на то, что файл мы смотрим из ветви Dev.
Рисунок 22
Информация о наборе изменений показывается из ветви, откуда изменения произошли
Свои отзывы и предложения вы можете отправить по электронной
почте: [email protected]
Copyright © 2013 by Microsoft Corporation. All rights reserved.