Использование команд управления версиями 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.

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

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

Дополнительные сведения см. в статье "Приостановка работы" и управление наборами полок.

Участие в работе

checkin Используйте команду, чтобы проверка в коде в базе кода команды:

  • Команда checkin: проверяет ожидающие изменения файлов или папок на сервере.

Дополнительные сведения см. в статье "Проверка работы в базе кода команды".

Управление файлами и решение проблем

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

Просмотр файлов и папок управления версиями и управление ими

Дополнительные сведения см. в разделе "Использование системы управления версиями" Обозреватель для управления файлами под управлением версиями.

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

Дополнительные сведения см. в разделе "Просмотр и управление прошлыми версиями".

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

  • Команда отличия: сравнивает различия между файлами и наборами полок.
  • Команда 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, чтобы указать частичный успех.