Использование команд управления версиями Team Foundation
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Команды управления версиями можно использовать для практически всех задач система управления версиями Team Foundation (TFVC), которые можно выполнять в Visual Studio. Вы также можете использовать команды управления версиями для выполнения нескольких задач, которые не могут выполняться в Visual Studio. Чтобы запустить команды управления версиями из командной строки или в скрипте, используйте tf.exe
это средство.
Выполнение команды
Чтобы запустить командную строку Visual Studio, выберите командную строку разработчика для VS2022 или более ранней версии.
Примечание.
Для Visual Studio 2019 и более поздних версий двоичный файл больше не находится в фиксированном расположении в пути установки Visual Studio, как в некоторых предыдущих выпусках tf.exe
, например C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
. Если сценарий используется tf.exe
, не кодируйте путь к файлу на основе пути установки Visual Studio.
В большинстве случаев вы запускаете команду управления версиями в контексте каталога, сопоставленного в рабочей области. Например, $/SiteApp/Main/
сопоставляется с c:\\code\\SiteApp\\Main\\
. Чтобы получить последнюю версию всех элементов в рабочей области, используйте следующую команду:
c:\code\SiteApp\Main\SolutionA>tf get
Настройка компьютера разработки и управление рабочими областями
Рабочая область — это локальная копия базы кода вашей команды. Так как это локальная копия на компьютере разработки, вы можете разрабатывать и тестировать код в изоляции, пока вы не будете готовы проверка в своей работе. Ниже приведены некоторые команды для управления рабочей областью:
Дополнительные сведения см. на следующих ресурсах:
- Настройка система управления версиями Team Foundation на компьютере разработки
- Создание и работа с рабочими областями
Разработка приложения
Используйте эти команды для разработки приложения под управлением версиями с помощью команды:
- Добавить команду: добавляет файлы и папки в управление версиями.
- Команда checkout (или Edit) — извлекает файл и изменяет состояние ожидающего изменения для редактирования.
- Команда delete (система управления версиями Team Foundation): удаляет файлы и папки с сервера Azure DevOps и удаляет их с диска.
- Команда Get: Возвращает (скачивает) последнюю версию или указанную версию одного или нескольких файлов или папок из Azure DevOps Server в рабочую область.
- Переименовать команду (система управления версиями Team Foundation): изменяет имя или путь к файлу или папке.
- Команда состояния: отображает сведения о ожидающих изменениях в файлах и папках в рабочих областях или в наборе полок.
- Отмена команды: Dis карта s указанные ожидающие изменения в файлах или папках.
- Команда отмены удаления: восстанавливает элементы, которые ранее были удалены.
Дополнительные сведения см. в разделе "Разработка приложения" в элементе управления версиями Team Foundation.
Приостановка работы
По разным причинам иногда необходимо отложить некоторые или все выполняемые работы. Чтобы приостановить работу и возобновить работу, а также управлять наборами полок, используйте следующие команды:
Дополнительные сведения см. в статье "Приостановка работы" и управление наборами полок.
Участие в работе
checkin
Используйте команду, чтобы проверка в коде в базе кода команды:
- Команда checkin: проверяет ожидающие изменения файлов или папок на сервере.
Дополнительные сведения см. в статье "Проверка работы в базе кода команды".
Управление файлами и решение проблем
Используйте ресурсы в следующих разделах для управления файлами.
Просмотр файлов и папок управления версиями и управление ими
- Команда Properties (or Info): отображает сведения о элементах управления версиями.
- Команда Dir: отображает содержимое сервера управления версиями.
- Команда destroy (система управления версиями Team Foundation): окончательно удаляет управляемые версией файлы.
- Команда LocalVersions: отображает версии элементов рабочей области.
Дополнительные сведения см. в разделе "Использование системы управления версиями" Обозреватель для управления файлами под управлением версиями.
Просмотр прошлых версий и управление ими
- Команда changeset: изменяет или отображает атрибуты набора изменений.
- Команда журнала: отображает журнал редакций файлов или папок.
- Команда label (система управления версиями Team Foundation): присоединяет или удаляет метки из файлов или папок.
- Команда меток: отображает сведения о метках, используемых на сервере.
- Команда отката (система управления версиями Team Foundation): откат эффектов наборов изменений.
- Команда unlabel: удаляет элемент из существующей метки на сервере.
- Команда view: извлекает указанную версию файла и отображает ее.
Дополнительные сведения см. в разделе "Просмотр и управление прошлыми версиями".
Сравнение папок и файлов
- Команда отличия: сравнивает различия между файлами и наборами полок.
- Команда Folderdiff: сравнивает различия между файлами в двух папках.
Дополнительные сведения см. в разделе "Просмотр и управление прошлыми версиями".
Разрешение конфликтов файлов
- Разрешить команду: разрешает конфликты между элементами в рабочей области и на сервере.
Дополнительные сведения см. в разделе "Устранение конфликтов система управления версиями Team Foundation".
Работа с блокировками управления версиями
- Команда блокировки: блокировка или разблокировка файлов и папок.
Дополнительные сведения см. в разделе " Работа с блокировками управления версиями".
Изоляция риска
Используйте следующие команды, чтобы изолировать риск с помощью ветвей:
Дополнительные сведения см. в разделе "Использование ветвей для изоляции риска в система управления версиями Team Foundation".
управление версиями Администратор ister
Используйте следующие команды для управления системой управления версиями:
Дополнительные сведения см. в разделе "Настройка проверка параметров".
Получение справки по командам управления версиями
Используйте следующие команды, чтобы получить подробные сведения о командах управления версиями:
Общие сведения о синтаксисе команд
Синтаксис каждой команды отображается в верхней части каждой справочной статьи.
Обязательные и необязательные аргументы
Необязательные аргументы являются обязательными. [Квадратные скобки] укажите необязательные аргументы, которые не требуются для выполнения команды. Однако некоторые необязательные аргументы имеют значения по умолчанию, применяемые к команде, даже если этот параметр не указан.
Эксклюзивные аргументы
Если параметры разделены каналом (|), можно указать один из вариантов.
Подробные и заменяемые аргументы
Элементы, которые не заключены в квадратные скобки, являются параметрами, которые вы включаете в себя подробные сведения. Элементы, заключенные в угловые скобки (< и >) являются аргументами, которые необходимо заменить фактическими символами для выполнения команды.
Сочетания клавиш и псевдонимы команд
Некоторые команды поддерживают сочетания клавиш. Например, можно вызвать команду Delete с помощью одного tf delete
или.tf del
Пример
Например, рассмотрим команду Checkout:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
В этом примере приведены следующие аргументы:
<item-spec>
: этот аргумент необходимо заменить спецификацией элемента, которая определяет элементы, которые вы проверка выходе.- Следующие аргументы являются необязательными. Если вы не предоставляете их, ни один из их эффектов не применяется к команде:
/lock:(none|checkin|checkout)
: если параметр не указан/lock
, система используется/lock:none
по умолчанию. В противном случае можно указать один из других параметров блокировки./recursive
: если вы хотите рекурсивно проверка несколько элементов в папке, необходимо указать этот параметр подробно./login:<username>, <password>
: если вы хотите запустить команду от имени другого пользователя, необходимо указать/login
параметр verbatim и заменить<username>
его именем. При необходимости замените<password>
пароль пользователя.
Указание элементов, затронутых командой
Спецификации элементов и спецификации версий можно использовать для указания элементов, затронутых командой.
Использование аргумента спецификации элементов для указания затронутых элементов
Спецификация элемента используется для указания элементов, затронутых командой. Элементы можно указать на клиентском компьютере или на сервере Azure DevOps. Вы можете использовать дикие карта символы, такие как * и ?.
Аргументы спецификации элементов клиента
Аргумент спецификации клиентского элемента указывает путь к элементам на клиентском компьютере, например:
- Папка, например c:\code\SiteApp\Main\SolutionA\.
- Например, файл c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
- Несколько файлов, например c:\code\SiteApp\Main\SolutionA\*.cs.
- ПУТЬ универсального именования (UNC), например \\myshare\code\SiteApp\Main.
Аргументы спецификации элементов сервера
Аргумент спецификации элемента сервера указывает путь к элементам на сервере Azure DevOps, например:
- Папка, например $/SiteApp/Main/SolutionA.
- Например, файл $/SiteApp/Main/SolutionA/Project1/program.cs.
- Несколько файлов, например $/SiteApp/Main/SolutionA/*.cs.
Обычно используются аргументы спецификации элементов сервера, если требуется выполнить команду на элементах, которые не используются на клиентском компьютере. Например, предположим, что вы работаете на компьютере разработки. Если вам нужно получить некоторые данные журнала редакций о некоторых элементах, которые находятся в коллекции проектов, в которой вы не работаете, можно использовать следующую команду:
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Аргументы спецификации нескольких элементов
Для некоторых команд можно указать несколько аргументов спецификации элементов, например:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Эта команда проверка program.cs и program2.c.
Использование аргумента спецификации версии для указания затронутых версий элементов
Спецификация версии используется для указания версии элементов, затронутых командой. Чтобы предоставить спецификацию версии, можно:
/version
Используйте параметр, например/version:C44
.Добавьте спецификацию версии в спецификацию элемента с запятой, например
program1.cs;C44
.
При использовании команды "Журнал" или команды "Разница" можно указать диапазон версий, разделив версии с тильдой, например:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Используйте следующий синтаксис, чтобы указать спецификацию версии:
Тип | Синтаксис | Description | Примеры | Результат |
---|---|---|---|---|
Изменений | [C]<version-number> |
Задает элементы на основе номера набора изменений. Если элемент, который находится в область, не был изменен в указанном наборе изменений, система принимает последнюю версию элемента, который произошел до указанного набора изменений. Можно опустить C , если указать только число. |
tf get readme.txt /v:C8 tf get readme.txt /v:8 tf get readme.txt;8 |
Если readme.txt был изменен в наборе изменений 8, в примере кода получается эта версия файла. В противном случае она получает последнюю версию readme.txt до версии 8. |
Этикетка | L<label> |
Указывает элементы, к которым применяется метка. | tf get readme.txt;LJulyHotFix tf get /version:LLastKnownGood |
Первый пример получает версию readme.txt , которая была помечена JulyHotFix. Второй извлекает версию всех помеченных элементов (и удаляет эти элементы, не помеченные ) в рабочей области по мере их существования при создании набора изменений LastKnownGood . Вы можете использовать код во втором примере в рамках автоматизированного процесса сборки. |
Дата и время | D<yyyy-mm-ddTxx:xx> or D<mm/dd/yyyy> or Любой поддерживаемый платформа .NET Framework формат. or Любой формат дат, поддерживаемый на локальном компьютере. |
Указывает набор изменений, созданный на указанной дате в определенное время. | tf get /version:D2022-03-22 tf get /version:D2022-03-22T09:00 |
Первый пример обновляет рабочую область, чтобы она соответствовала базе кода, как она существовала 22 марта 2022 года в полночь. Вторая обновляет рабочую область, чтобы она соответствовала базе кода, как она существовала 22 марта 2022 года в 9:00. Дополнительные сведения о форматах даты и времени, поддерживаемых платформа .NET Framework, см. в строках формата даты и времени "Стандартный". |
Текущая рабочая область | W |
Указывает версию в рабочей области. | - | - |
Указанная рабочая область | W<workspace-name>; <workspace-owner> |
Указывает версию в указанной рабочей области. | tf get /version:WResolveRIConflicts;PatW |
В этом примере указывается версия в ResolveRIConflicts рабочей области, PatW принадлежащей ей. |
Совет | T |
Указывает последнюю версию. | - | - |
Использование параметров для изменения того, как функции команд
Для изменения функций команд можно использовать некоторые распространенные параметры.
/noprompt
Используйте параметр для подавления запросов ввода данных и перенаправления выходных данных
/noprompt
Используйте параметр для подавления запросов ввода данных и перенаправления выходных данных в окно командной строки. Этот параметр может быть полезен, если необходимо использовать команды управления версиями в скрипте, где:
- Команда продолжается без вмешательства пользователя.
- Данные доступны для выполнения операций с скриптом, например синтаксического анализа или записи.
При использовании этого параметра система:
Подавляет все запросы для ввода:
- Вопросы не задаются в окне командной строки. Например, при использовании команды отмены с этим параметром система не запрашивает подтверждение отмены изменений.
- Окна и диалоговые окна не отображаются. Например, этот параметр можно использовать с помощью команды Checkin. Система не отображает диалоговое окно "Флажок" для подтверждения элементов и связанных рабочих элементов. Вместо этого система проверка в элементах без подтверждения.
Перенаправляет выходные данные в командную строку. Например, этот параметр можно использовать с помощью команды "Журнал". Данные отображаются в окне командной строки вместо окна журнала.
/login
Используйте параметр для указания учетных данных
/login
Используйте параметр, чтобы указать учетную запись пользователя сервера Azure DevOps для выполнения команды. Этот параметр может быть полезен при работе на компьютере другого члена команды.
Например, предположим, что вы работаете на компьютере разработки члена команды. Команда блокировки используется для разблокировки файла, заблокированного ранее:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Если вы хотите избежать появления пароля в командной строке, можно ввести команду без пароля:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
После ввода этой команды система предложит ввести пароль в диалоговом окне, которое маскирует входные данные.
/lock
Использование параметра для применения или удаления блокировки
Внимание
Рекомендуется использовать /lock
этот вариант по усмотрению. Сообщите коллегам, почему вы блокируете элемент и планируете удалить блокировку.
/lock
Используйте параметр для применения или удаления блокировки в то же время, когда выполняется другая команда, например Добавление или изменение.
/lock:(none|checkin|checkout)
Команда /lock
использует следующие параметры:
None
: блокировка не помещается в элемент. Если блокировка уже находится на месте, она удаляется.Checkin
илиCheckout
: применяется блокировка. Дополнительные сведения см. в разделе "Общие сведения о типах блокировки".
Примечание.
В некоторых случаях операция блокировки может завершиться ошибкой:
- Если другие пользователи заблокировали любой из указанных элементов, операция блокировки завершается ошибкой.
- Если в указанном элементе уже есть ожидающие изменения, система игнорирует этот параметр. В этом случае необходимо использовать команду lock для изменения блокировки элемента.
Использование сочетаний клавиш
Вы можете сократить следующие параметры.
Параметр
Псевдоним параметра
/comment
-C
/computer
-M
/delete
-D
/force
-P
/format
-F
/help
-?, -H
/lock
-K
/login
-Y
/newname
-N
/noprompt
-I
/owner
-O
/recursive
-R
/server
-S
/slotmode
-X
/template
-T
/user
-U
/version
-V
/workspace
-W
Общие сведения о кодах выхода
Команды управления версиями возвращают следующие коды выхода:
Код завершения
Определение
0
Успешно.
1
Частичный успех. По крайней мере, что-то, или, возможно, все, не удалось добиться успеха.
2
Нераспознанная команда.
100
Ничего не удалось.
Например, предположим, что выполните следующую команду:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Если один из файлов, которые вы пытаетесь проверка не существует на сервере, команда возвращает 1, чтобы указать частичный успех.