Поделиться через


Пошаговое руководство. Дополнительные функциональные возможности системы управления версиями

Обновлен: Ноябрь 2007

В данном пошаговом руководстве показано, как использовать в Team Foundation (подсистема контроля версий) ветви, слияния и метки.

Прежде чем приступить к изучению этого пошагового руководства, следует иметь фундаментальное понимание процедур ветвления, слияния и применения меток к элементам управления версиями:

  • Ветвление.   В процессе ветвления в Team Foundation (подсистема контроля версий) выполняется копирование указанного набора файлов и папок на сервере Team Foundation в новую папку, называемую ветвью. Фактически, при создании ветви создаются новые папки или файлы, основанные на существующих. При ветвлении журнал изменения копируемых в ветвь папок и файлов сохраняется. Это позволяет объединять вносимые в старые файлы изменения в новые файлы. Ветвление можно выполнять с помощью обозревателя управления исходным кодом или из командной строки, используя Команда "branch". Дополнительные сведения см. в разделе Основные сведения о ветвлении.

  • Слияние.   Процесс слияния позволяет объединить две определенные версии файлов, папок или командных проектов, расположенные в разных ветвях. Одна из этих ветвей будет являться источников, а вторая — ветвью назначения. Являющаяся источником ветвь содержит элементы, которые нужно объединить в ветви назначения. Эти версии папок и файлов могут основываться на наборах изменений, датах, метках, рабочих областях или самой последней версии. Дополнительные сведения см. в разделе Основные сведения о ветвлении. Слияние можно выполнять с помощью обозревателя управления исходным кодом или из командной строки, используя Команда "merge".

  • Маркировка.   Метки можно присоединять выборочно к какому-либо набору не связанных иным образом файлов и папок на сервере управления версиями. Метки упрощают извлечение конкретной совокупности элементов в рабочую область для осуществления разработки или построения.

В этой теме описывается порядок выполнения операции ветвления и редактирования файлов члена группы в полученной в результате ветви, а также в исходной ветви. Затем эти изменения будут возвращены и объединены. Операция слияния выявляет конфликты. Затем выявленные конфликты нужно разрешить. В итоге, к набору изменений применяются метки.

Обязательные компоненты

Прежде чем можно будет выполнить это пошаговое руководство, необходимо выполнить следующее:

Необходимые разрешения

Для выполнения инструкций данного пошагового руководства необходимо иметь разрешения PendChange и Checkin.

Ветвление элементов, включенных в систему управления версиями

В следующей процедуре описывается порядок выполнения операции ветвления. Ветвление — это функция Team Foundation (подсистема контроля версий), предназначенная для создания новых папок и файлов, на основе уже существующих. Дополнительные сведения см. в разделах Основные сведения о ветвлении и Практическое руководство. Ветвление файлов и папок.

ms181282.alert_caution(ru-ru,VS.90).gifВнимание!

Для выполнения следующих процедур предполагается, что действия, описанные в разделе Пошаговое руководство. Управление версиями в Team Foundation, уже выполнены.

Для ветвления элементов, включенных в систему управления версиями

  1. В меню Вид выберите Другие окна, затем Обозреватель управления исходным кодом, чтобы открыть его.

  2. В Обозревателе управления исходным кодом откройте папку MyWindowsApp, содержащую файл решения MyWindowsApp.sln, созданный при выполнении инструкций, содержащихся в документе Пошаговое руководство. Управление версиями в Team Foundation, щелкните его правой кнопкой мыши и выберите команду Ветвь.

  3. В диалоговом окне Ветвь в текстовом поле Папка назначения измените путь и имя новой ветви, добавив в начале Тестовая ветвь. Кроме того, можно нажать кнопку Обзор, чтобы выбрать нужную папку.

    ms181282.alert_note(ru-ru,VS.90).gifПримечание.

    К ветвям назначения автоматически добавляется строка -branch.

  4. В разделе Разветвление от версии в раскрывающемся списке До выберите вариант Последняя версия.

  5. Нажмите кнопку ОК.

    Team Foundation (подсистема контроля версий) создаст новую ветвь и покажет ее в обозревателе управления исходным кодом.

  6. Щелкните двойным щелчком папку новой ветви, названную Тестовая ветвь MyWindowsApp.

    Обратите внимание, что в столбце Ожидающее изменение каждый элемент новой ветви имеет состояние ветвь.

  7. Так как создание ветви является ожидающим изменением, то необходимо выполнить операцию возврата, чтобы применить создание ветви. Щелкните правой кнопкой мыши папку Тестовая ветвь MyWindowsApp и выберите вариант Вернуть ожидающие изменения.

  8. В диалоговом окне Возврат в текстовом поле примечания введите Тестовая ветвь и затем щелкните Вернуть.

    ms181282.alert_note(ru-ru,VS.90).gifПримечание.

    Если для командного проекта введены в действие политики возврата, то прежде чем продолжить, может потребоваться связать рабочие элементы или примечания при возврате. Дополнительные сведения см. в разделах Практическое руководство. Сопоставление рабочих элементов с наборами изменений и Практическое руководство. Сопоставление примечаний при возврате с наборами изменений.

    В столбце Ожидающее изменение обозревателя управления исходным кодом будут показаны пустые записи. Это указывает на то, что новая ветвь была возвращена.

Теперь новая ветвь успешно создана и возвращена. При выполнении следующей процедуры будут изменены файлы как исходной, так и новой ветвей.

Применение некоторых изменений к ветвям

В качестве следующего шага в один и тот же файл обеих ветвей будут внесены отдельные, но противоречащие друг другу изменения. Затем будет выполнено слияние обеих ветвей и разрешены конфликты слияния. С помощью следующей процедуры показано, как извлечь файлы обеих ветвей для редактирования.

Извлеките и отредактируйте некоторые файлы из ветвей, включенных в систему управления версиями

  1. В созданной при выполнении предыдущего шага новой ветви раскройте папку Тестовая ветвь MyWindowsApp. На правой панели найдите файл Class1.cs, созданный при выполнении инструкций, приведенных в документе Пошаговое руководство. Управление версиями в Team Foundation, щелкните его правой кнопкой мыши и выберите команду Извлечь для изменения.

  2. В диалоговом окне Извлечение нажмите кнопку Извлечь.

    В обозревателе управления исходным кодом теперь файл имеет значение Изменение состояния Ожидающее изменение.

  3. Двойным щелчком откройте файл Class1.cs для редактирования.

  4. В файле Class1.cs добавьте следующий выделенный код:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "New branch";
          }
    } 
    
  5. В меню Файл выберите пункт Сохранить Class1.cs.

  6. В обозревателе управления исходным кодом щелкните правой кнопкой мыши файл Class1.cs и выберите команду Вернуть ожидающие изменения.

  7. В диалоговом окне Возврат в текстовом поле примечания введите Изменение новой ветви и затем щелкните Вернуть.

    ms181282.alert_note(ru-ru,VS.90).gifПримечание.

    Если для командного проекта введены в действие политики возврата, то прежде чем продолжить, может потребоваться связать рабочие элементы или примечания при возврате. Дополнительные сведения см. в разделах Практическое руководство. Сопоставление рабочих элементов с наборами изменений и Практическое руководство. Сопоставление примечаний при возврате с наборами изменений.

    В столбце Ожидающее изменение обозревателя управления исходным кодом для файла Class1.cs будут показаны пустые записи. Это указывает на то, что изменения были возвращены.

    Теперь будет произведено внесение изменений в исходную ветвь. Этапы выполнения этой процедуры будут в основном такими же, как только что выполненные.

  8. В обозревателе управления исходным кодом откройте папку, в которой находится исходная ветвь, называемая MyWindowsApp.

  9. В исходной ветви раскройте папку MyWindowsApp и на правой панели найдите файл Class1.cs, созданный при выполнении процедур, описанных в документе Пошаговое руководство. Управление версиями в Team Foundation, щелкните правой кнопкой мыши и выберите команду Извлечь для изменения.

  10. В диалоговом окне Извлечение нажмите кнопку Извлечь.

    В обозревателе управления исходным кодом теперь файл имеет значение Изменение состояния Ожидающее изменение.

  11. Двойным щелчком откройте файл Class1.cs для редактирования.

  12. В файле Class1.cs добавьте следующий выделенный код:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace MyWindowsApp
    {
          class Class1
          {
                string SourceControlMerge = "Original branch";
          }
    } 
    
  13. В меню Файл выберите пункт Сохранить Class1.cs.

  14. В обозревателе управления исходным кодом щелкните правой кнопкой мыши файл Class1.cs и выберите команду Вернуть ожидающие изменения.

  15. В диалоговом окне Возврат в текстовом поле примечания введите Изменение исходной ветви и затем щелкните Вернуть.

    ms181282.alert_note(ru-ru,VS.90).gifПримечание.

    Если для командного проекта введены в действие политики возврата, то прежде чем продолжить, может потребоваться связать рабочие элементы или примечания при возврате. Дополнительные сведения см. в разделах Практическое руководство. Сопоставление рабочих элементов с наборами изменений и Практическое руководство. Сопоставление примечаний при возврате с наборами изменений.

    В столбце Ожидающее изменение обозревателя управления исходным кодом для файла Class1.cs будут показаны пустые записи. Это указывает на то, что изменения были возвращены.

Теперь, когда ветвь успешно создана и изменения в исходную и новую ветви внесены, следующей процедурой будет выполнение слияния изменений, выполненных в обеих ветвях.

Слияние элементов, включенных в систему управления версиями

После внесения изменений в файлы ветвей можно выполнить их слияние. В следующей процедуре показано использование обозревателя управления исходным кодом для выполнения слияния. Дополнительные сведения см. в разделах Основные сведения о слиянии и Практическое руководство. Слияние файлов и папок.

Для выполнения слияния ветвей, включенных в систему управления версиями

  1. В обозревателе управления исходным кодом щелкните правой кнопкой мыши папку Тестовая ветвь MyWindowsApp и выберите вариант Слияние.

    В мастере слияния системы управления версиями в текстовом поле Исходная ветвь будет отображен путь и имя папки "Тестовая ветвь MyWindows App".

  2. В раскрывающемся списке Ветвь назначения выберите папку MyWindowsApp.

  3. В окне Выберите изменения в исходной ветви, которые нужно объединить выберите вариант Все изменения до конкретной версиии нажмите кнопку Далее.

  4. На этапе Выберите версию исходных элементов в раскрывающемся списке Тип версиивыберитеПоследняя версия и нажмите кнопку Далее.

  5. На этапе Выполнение операции слияния нажмите кнопку Готово.

    Так как между исходной ветвью и ветвью назначения существуют различия, откроется диалоговое окно Разрешение конфликтов. Для разрешения конфликтов выполните следующую процедуру. В случае отсутствия конфликтов диалоговое окно Разрешение конфликта версий открыто не будет.

Разрешение конфликтов слияния

Так как между файлами в двух ветвях существуют отличия, будет предложено выполнить действия по разрешению конфликтов между ветвями. Дополнительные сведения см. в разделе Практическое руководство. Разрешение конфликтов между двумя файлами. Для разрешения конфликтов слияния выполните следующие действия.

Для разрешения конфликтов слияния

  1. В диалоговом окне Разрешение конфликтов нажмите кнопку Разрешить.

    Откроется диалоговое окно Разрешение конфликта версий.

  2. В диалоговом окне Разрешение конфликта версий в разделе Параметры разрешения выберите вариант Объединить изменения в средстве слияния и нажмите кнопку ОК.

  3. В средстве слияния найдите конфликт между двумя файлами, щелкнув Следующее изменение. Файлы будут представлены рядом. Будут показаны две строки (Исходная ветвь и Новая ветвь), введенные при выполнении предыдущей процедуры.

  4. Щелкните код, содержащий строку Новая ветвь.

    Средство слияния отобразит изменение в нижней области.

  5. Нажмите кнопку ОК.

  6. В диалоговом окне Microsoft Visual Studio выберите Да, чтобы сохранить файл.

  7. Будет предложено принять объединенные результаты. Нажмите кнопку Да, чтобы оставить объединенный файл.

  8. В диалоговом окне Разрешение конфликтов нажмите кнопку Закрыть.

  9. В обозревателе управления исходным кодом щелкните правой кнопкой мыши папку MyWindowsApp и выберите команду Вернуть ожидающие изменения.

    Откроется диалоговое окно Возврат.

  10. В диалоговом окне Возврат нажмите кнопку Вернуть.

    ms181282.alert_note(ru-ru,VS.90).gifПримечание.

    Если для командного проекта введены в действие политики возврата, то прежде чем продолжить, может потребоваться связать рабочие элементы или примечания при возврате. Дополнительные сведения см. в разделах Практическое руководство. Сопоставление рабочих элементов с наборами изменений и Практическое руководство. Сопоставление примечаний при возврате с наборами изменений.

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

Маркировка элементов, включенных в систему управления версиями

В Team Foundation (подсистема контроля версий) метка — это имя, присваиваемое конкретному набору редакций. Она часто называется построением моментального снимка. Метки можно присваивать только одной редакции файла. Метки являются простым способом организации набора файлов в редакции. Дополнительные сведения см. в разделах Работа с метками и Практическое руководство. Применение меток.

Для применения меток к системе управления версиями

  1. В обозревателе управления исходным кодом откройте созданную при выполнении предыдущей процедуры папку Тестовая ветвь MyWindowsApp, щелкните ее правой кнопкой мыши и выберите команду Применить метку.

  2. В диалоговом окне Выбор версии элемента выберите папку Тестовая ветвь MyWindowsApp.

  3. В поле Элементы типа установите Все файлы (*.*) и затем нажмите ОК.

  4. В диалоговом окне Применение метки в текстовом поле Имя введите Испытание метки MyWindowsApp.

  5. В текстовом поле Комментарий введите Все файлы для построения версии MyWindowsApp.

  6. В области Элементы нажмите Добавить.

  7. В диалоговом окне Выбор версии элемента убедитесь, что список Искать в содержит командный проект, работа над которым осуществляется.

  8. Перейдите в папку Тестовая ветвь MyWindowsApp, чтобы найти Class1.cs, и затем выберите его.

  9. В списке Версия выберите Последняя версия.

  10. Нажмите кнопку ОК.

    Team Foundation (подсистема контроля версий) откроет диалоговое окно Применение метки с заполненными элементами.

  11. Нажмите кнопку ОК.

См. также

Основные понятия

Работа с метками

Работа с наборами изменений системы управления версиями

Ссылки

Команда "branch"

Команда "branches"

Команда "merge"

Команда "merges"

Команда "label" (Управление версиями в Team Foundation)

Команда "labels"

Окно "Ожидающие возвраты"

Другие ресурсы

Пошаговые руководства по функциям управления версиями в Team Foundation

Ветвление и слияние в системе управления версиями Team Foundation