Что такое система управления версиями Team Foundation?

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Visual Studio 2019 | Visual Studio 2022

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

Azure DevOps Services и TFS предоставляют две модели управления версиями: Git , который является распределенным управлением версиями, и система управления версиями Team Foundation (TFVC), который является централизованным управлением версиями. В этой статье представлен обзор и отправная точка для использования TFVC. Если вы решаете, какой тип управления версиями Azure DevOps Services/TFS использовать, см. раздел Выбор правильного управления версиями для проекта.

Зачем использовать управление версиями?

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

Системы управления версиями предоставляют следующие преимущества:

  • Создание рабочих процессов . Рабочие процессы управления версиями предотвращают хаос, когда все пользователи используют собственный процесс разработки с различными и несовместимыми инструментами. Системы управления версиями обеспечивают принудительное применение процессов и разрешения, чтобы все пользователи оставались на одной странице.
  • Работа с версиями . Каждая версия содержит описание изменений в версии, например исправление ошибки или добавление функции. Такие описания помогают отслеживать изменения в коде по версии, а не по изменениям в отдельных файлах. Код, хранящийся в версиях, можно в любой момент при необходимости просмотреть и восстановить из системы управления версиями. Это упрощает создание новой работы на основе любой версии кода.
  • Код вместе . Система управления версиями синхронизирует версии и гарантирует, что изменения не конфликтуют с другими изменениями из вашей команды. Ваша команда использует управление версиями, чтобы устранить и предотвратить конфликты, даже если люди вносят изменения одновременно.
  • Ведение журнала . Управление версиями хранит журнал изменений, когда команда сохраняет новые версии кода. Этот журнал позволяет узнать, кто, зачем и когда внес изменения. Журнал дает уверенность в эксперименте, так как вы можете в любое время откатить предыдущую хорошую версию. Журнал позволяет выполнять базовые действия из любой версии кода, например для исправления ошибки в предыдущем выпуске.
  • Автоматизация задач . Функции автоматизации управления версиями экономят время команды и создают согласованные результаты. Вы можете автоматизировать тестирование, анализ кода и развертывание при сохранении новых версий в управлении версиями.

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

Team Foundation (подсистема контроля версий)

TFVC — это централизованная система управления версиями. Как правило, участники группы имеют только одну версию каждого файла на своих компьютерах разработки. Исторические данные ведутся только на сервере. Ветви основаны на путях и создаются на сервере.

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

Краткие руководства

Начните с создания проекта, настройки рабочей области, а также просмотра кода и предоставления общего доступа к коду. Вы можете использовать любой из следующих клиентов или URI:

Пошаговые инструкции

Основные сведения о работе в TFVC см. в следующем руководстве, в котором показан день в жизни разработчика DevOps с помощью Visual Studio и TFVC.

Выбор действия

  • Настройка компьютера для разработки и начало работы

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

  • Выбор модели рабочего процесса — серверных или локальных рабочих областей

    • Серверные рабочие области Перед внесением изменений члены команды открыто извлекают файлы. Большинство операций требуют подключения разработчиков к серверу. Эта система упрощает рабочие процессы блокировки. Другие системы, работающие таким образом, включают Visual Source Safe, Perforce и CVS. С помощью серверных рабочих областей можно масштабировать до очень больших баз кода с миллионами файлов на ветвь и большими двоичными файлами.

    • Локальные рабочие области . Каждый участник команды получает с собой копию последней версии базы кода и по мере необходимости работает в автономном режиме. Разработчики возвращают свои изменения и при необходимости разрешают конфликты. Еще одна система, которая работает таким образом, — это Subversion.

  • Разработка приложения в базе кода с управлением версиями

    В большинстве случаев вам не нужно думать об управлении версиями. Система понимает вносимые вами изменения и помогает управлять ими.

  • Приостановка работы

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

  • Участие в работе команды

    Проверьте изменения, чтобы ваша команда вела сборку, тестирование и освобождение созданного значения.

  • Изоляция риска

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

  • Просмотр предыдущих версий и управление ими

    Одно из преимуществ системы управления версиями состоит в том, что она позволяет заглянуть в прошлое и получить подробные сведения об изменениях, внесенных в файлы.

  • Сравнение папок и файлов

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

  • Разрешение конфликтов Team Foundation (подсистема контроля версий)

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

  • Работа с блокировками управления версиями

    Если требуется предотвратить извлечение или изменение файла или папки, можно применить блокировку.

Операции доступны только из командной строки tf

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

Задача Get-Help
Удалите рабочую область другого пользователя. workspaceс параметром /delete
Отмените извлечение другого пользователя. undo
Удалите блокировку другого пользователя. lock
Определение области метки. label
Выполните безбазовое слияние. merge
Окончательное уничтожение содержимого. destroy
Откат эффекта одного или нескольких наборов изменений. rollback