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


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

Команды системы управления версиями можно использовать для выполнения практически всех задач, которые можно выполнять в Visual Studio, а также некоторых задач, которые невозможно выполнять в этой среде. Для выполнения команд системы управления версиями из командной строки или в скрипте можно использовать средство tf.exe.

Выберите действие.

  • Выполнение команды

    • Настройка компьютера разработки

    • Разработка приложения

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

    • Отправка работы

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

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

  • Понимание синтаксиса команды

  • Указание элементов, затрагиваемых командой

    • Использование аргумента itemspec для указания затрагиваемых элементов

    • Использование аргумента versionspec для указания затрагиваемых версий элементов

  • Использование параметров для изменения функций команды

    • Использование параметра /noprompt для подавления запросов ввода данных и перенаправления выходных данных в окно командной строки

    • Использование параметра /login для указания учетных записей при выполнении команды

    • Использование параметра /lock для применения или снятия блокировки

    • Использование ярлыков параметров

  • Расшифровка кодов выхода

Выполнение команды

Чтобы запустить командную строку Visual Studio, в меню Windows Пуск выберите Microsoft Visual Studio 2012, Visual Studio Tools, а затем выберите один из ярлыков Окно командной строки.

Как правило, команда управления версиями выполняется в контексте каталога, с которым она сопоставлена в рабочей области. Например, запись $/SiteApp/Main/ сопоставлена с c:\code\SiteApp\Main\. Получение последней версии всех элементов в рабочей области

c:\code\SiteApp\Main\SolutionA>tf get

Примечание

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

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

Рабочая область — это локальная копия базы кода команды. Поскольку это локальная копия на вашем компьютере разработки, вы можете разрабатывать и тестировать код изолированно, пока не будете готовы возвратить работу. Ниже приведены некоторые команды, которые используются для управления рабочей областью:

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

Разработка приложения

Эти команды используются для разработки приложения в рамках управления версиями вместе с командой:

См. также: Разработка приложения в системе управления версиями Team Foundation.

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

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

См. также: Приостановка работы и управление наборами отложенных изменений.

Отправка работы

Ниже приведено описание процедуры возврата кода в базу кода команды:

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

См. также: Возврат работы в базу кода команды.

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

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

Для изоляции рисков с помощью ветвей используйте следующие команды:

См. также: Использование ветвей для изоляции рисков в системе управления версиями Team Foundation.

Администрирование управления версиями

Для администрирования системы управления версиями используйте следующие команды:

См. также: Администрирование системы управления версиями Team Foundation (Visual Studio 2010).

Получение справки по командам управления версиями

Для получения дополнительных сведений о командах управления версиями используйте следующие команды:

Понимание синтаксиса команды

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

Обязательные и необязательные аргументы

Аргументы, не заключенные в скобки, являются обязательными. [Brackets] указывают на дополнительные аргументы, которые необязательны для выполнения команды. Однако некоторые необязательные аргументы включают значения по умолчанию, которые применяются к команде, даже если параметр не указан.

Исключающие аргументы

Если параметры отделены символом вертикальной черты (|), можно указать один из следующих параметров.

Буквальные и заменяемые аргументы

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

Псевдонимы и ярлыки команд

Некоторые команды поддерживают ярлыки. Например, команду Delete можно вызвать с помощью ярлыка tf delete или tf del.

Пример

Используем в качестве примера команду Checkout:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]

Рассмотрим аргументы в этом примере:

  • itemspec — этот аргумент необходимо заменить спецификацией элемента, указывающей извлекаемые элементы.

  • /lock:(none|checkin|checkout) — указывать параметр /lock необязательно. Если его не указать, система по умолчанию задает значение /lock:none. В противном случае можно указать один из параметров блокировки.

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

    • /recursive — если требуется рекурсивно извлекать несколько элементов в папке, необходимо указать этот параметр буквально.

    • /login:username,пароль — если требуется выполнить команду от имени другого пользователя, необходимо указать параметр /login буквально, заменив username именем пользователя, кроме того, при необходимости можно указать пароль.

Указание элементов, затрагиваемых командой

Аргументы itemspec и versionspec можно использовать, чтобы указать элементы, затрагиваемые командой.

Использование аргумента itemspec для указания затрагиваемых элементов

Аргумент itemspec (спецификация элемента) можно использовать для указания элементов, затронутых командой. Можно указать элементы на клиентском компьютере или на сервере Team Foundation Server. Также можно использовать подстановочные символы, такие как * и ?.

Аргументы itemspec клиента

Аргумент itemspec клиента указывает путь к элементам на клиентском компьютере, таким как папка (например, c:\code\SiteApp\Main\SolutionA\), файл (например, c:\code\SiteApp\Main\SolutionA\Project1\program.cs или несколько файлов (например, c:\code\SiteApp\Main\SolutionA\*.cs). Можно также указывать UNC-пути, например \\myshare\code\SiteApp\Main.

Аргументы itemspec сервера

Аргумент itemspec сервера указывает путь к элементам на сервере Team Foundation Server, таким как папка (например, $/SiteApp/Main/SolutionA), файл (например, $/SiteApp/Main/SolutionA/Project1/program.cs или несколько файлов (например, $/SiteApp/Main/SolutionA/*.cs).

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

c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Несколько аргументов itemspec

Для некоторых команд можно указать несколько аргументов itemspec. Например:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Извлекает program.cs и program2.c.

Использование аргумента versionspec для указания затрагиваемых версий элементов

Аргумент versionspec (спецификация версии) можно использовать для указания версий элементов, затронутых командой. Для указания аргумента versionspec можно:

  • Использовать параметр /version. Например, /version:C44.

  • Прикрепить аргумент versionspec к itemspec с помощью точки с запятой. Например, program1.cs;C44.

Если используется Команда History или Difference Command, можно указать диапазон версий, отделяя их символом тильды (~). Например:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

Чтобы указать аргумент versionspec, используйте следующий синтаксис.

Тип

Синтаксис

Описание

Набор изменений

[C]n

Указывает элементы на основе номера набора изменений. Если элемент, который находится в области, не изменялся в заданном наборе изменений, система выбирает последнюю версию элемента, которая предшествовала заданному набору изменений.

Совет

Параметр C можно опустить, если вы указали только номер.

Примеры

c:\code\SiteApp\Main>tf get readme.txt /v:C8

— или —

c:\code\SiteApp\Main>tf get readme.txt /v:8

— или —

c:\code\SiteApp\Main>tf get readme.txt;8

Если файл readme.txt был изменен в наборе изменений 8, будет получена эта версия файла. В противном случае будет получена последняя версия файла readme.txt, предшествовавшая версии 8.

Метка

Llabel

Задает элементы, к которым применен параметр label.

Примеры

c:\code\SiteApp\Main>tf get readme.txt;LJulyHotFix

Получает версию файла readme.txt с меткой JulyHotFix.

c:\code\SiteApp\Main>tf get /version:LLastKnownGood

Получает версию всех помеченных элементов (и удаляет непомеченные элементы) в рабочей области в том виде, в котором они существовали на момент создания набора изменений с меткой LastKnownGood, например в ходе автоматизированного процесса сборки.

Дата и время

Dyyyy-mm-ddTxx:xx

—или—

Dmm/dd/yyyy

—или—

Любой формат, поддерживаемый .NET Framework.

—или—

Любые форматы дат, поддерживаемые локальным компьютером.

Указывает набор изменений, созданный в заданную дату и время.

Примеры

c:\code\SiteApp\Main>tf get /version:D2004-03-22

Обновляет рабочую область, чтобы она соответствовала базе кода на дату 3/22/2004 в 00:00 (полночь).

c:\code\SiteApp\Main>tf get /version:D2004-03-22T09:00

Обновляет рабочую область, чтобы она соответствовала базе кода на дату 3/22/2004 в 09:00 (9 утра).

Дополнительные сведения о форматах даты и времени, поддерживаемых .NET Framework, см. в разделах DateTime и Строки стандартных форматов даты и времени.

Рабочая область (текущая)

W

Указывает версию рабочей области.

Рабочая область (заданная)

Wworkspacename; workspaceowner

Указывает версию заданной рабочей области.

Пример: WResolveRIConflicts;PeterW

Совет

T

Указывает последнюю версию.

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

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

Использование параметра /noprompt для подавления запросов ввода данных и перенаправления выходных данных в окно командной строки

Используйте параметр /noprompt для подавления запросов ввода данных и перенаправления выходных данных в окно командной строки. Этот параметр может быть полезным, когда требуется использовать команды управления версиями в сценарии, так как команды выполняются без вмешательства пользователя и данные доступны для выполнения в сценарии таких операций, как анализ или фиксация.

При использовании этого параметра происходит следующее.

  • Система подавляет все запросы на ввод данных:

    • В окне командной строки не задаются вопросы. Например, если с этим параметром используется Команда Undo, система не просит подтвердить намерение продолжить отмену изменений.

    • Окна и диалоговые окна не появляются на экране. Например, если с этим параметром используется Команда Checkin. Вместо вывода диалогового окна Возврат для подтверждения параметров (какие элементы вы хотите возвратить или какие рабочие элементы связать) система обрабатывает возврат без подтверждения.

  • Система перенаправляет выходные данные в окно командной строки. Например, если с этим параметром используется Команда History. Данные отображаются в окне командной строки, а не в окне Журнал.

Использование параметра /login для указания учетных записей при выполнении команды

Параметр /login используется для указания учетной записи Team Foundation Server, от имени которой будет выполняться команда. Этот параметр можно использовать при работе на компьютере другого члена команды.

Например, Юлия работает с Питером на его компьютере разработки. Она использует команду Lock, чтобы разблокировать файл, заблокированный ей ранее:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI,JuliaPassword

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

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI

После введения команды система предлагает ей ввести пароль в диалоговом окне с маскировкой ввода.

Использование параметра /lock для применения или снятия блокировки

Важно!

Параметр /lock рекомендуется применять с осторожностью и уведомлять об этом членов команды, объясняя причину блокировки элемента и планируемое время отмены блокировки.

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

/lock:(none|checkin|checkout)

Примечание

В некоторых случаях может произойти сбой операции блокировки.

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

  • Система пропускает этот параметр командной строки, если для элемента уже имеется ожидающее изменение.В этом случае необходимо использовать Lock Command для изменения блокировки элемента.

Использование ярлыков параметров

Следующие параметры можно сократить.

Параметр

Псевдонимы параметров

/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, указывающий на частичное выполнение.