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


Команда Get

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

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

Для использования команды get необходимо иметь разрешение Чтение со значением Разрешить для каждого извлекаемого элемента и быть владельцем целевой рабочей области или иметь глобальное разрешение Администрирование рабочих областей. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force] 
[/preview] [/recursive] [/remap] [/noprompt] [/login:username,[password]]

Параметры

Аргумент

Описание

Itemspec

Файл или папка для извлечения. При отсутствии спецификации элемента Team Foundation Server выполняет рекурсивную операцию Get для всех элементов, сопоставленных текущей рабочей области.

ПримечаниеПримечание
Можно указать более одного аргумента Itemspec.

Versionspec

Предоставляемое пользователем значение параметра /version. Дополнительные сведения о том, как Team Foundation Server анализирует спецификацию версии для определения элементов, которые находятся в области его действия, см. в разделе Синтаксис командной строки (управление версиями).

username

Предоставляет значение для параметра /login. Можно задать значение для имени пользователя как ДОМЕН\имя_пользователя или как имя_пользователя.

Параметр

Описание

/version

Необязательная спецификация версии. Спецификация версии содержит версию извлекаемого элемента. Возможны следующие варианты указания версии.

  • Дата/время (D2008-01-21T16:00)

  • Версия набора изменений (C1256)

  • Метка (Lmylabel)

  • Последняя версия (T)

  • Версия рабочей области (Wworkspacename;владелец)

  • Если версия не указана, Team Foundation Server извлекает в рабочую область последнюю версию указанного itemspec.

/all

Принудительно извлекает все файлы, а не только устаревшие.

/overwrite

Перезаписывает не извлеченные изменяемые файлы.

/force

Объединяет параметры /all и /overwrite.

/preview

Отображает результат без фактического выполнения операции Get.

/recursive

Рекурсивно извлекает все элементы, соответствующие itemspec.

/noprompt

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

/remap

Обновляет локальное сопоставление на сервере и загружает заново файл быстрее, если вы уже загрузили тот же файла из другой ветви.

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

/login

Задает имя пользователя и пароль для проверки подлинности пользователя с Team Foundation Server.

Заметки

Команда get извлекает элементы с сервера в рабочую область. Если другая версия не указана, извлекается последняя версия на сервере.

При работе в среде групповой разработки команда get используется наиболее часто, поскольку получение каждого файла в текущем проекте синхронизируется с другими членами группы и гарантирует наличие самой последней копии общей работы. Команда get не перезаписывает файлы, извлеченные в локальный каталог. Чем чаще выполняется команда get в среде совместной работы, тем более новыми будут локальные файлы рабочей группы. Это происходит потому, что операция get заполняет локальную рабочую область с использованием изменений, которые были возвращены на сервер коллегами. Если актуальность рабочей области поддерживается путем выполнения операции get всякий раз, когда появится уведомление возврата (например из оповещений проекта), то можно быстро устранить различия между версией проекта и серверной версией этого проекта. Можно избежать внесения изменений, при согласовании которых с сервером в ходе возврата ожидающих изменений могут возникнуть проблемы.

Если версия рабочей области совпадает с запрошенной версией сервера, то при выполнении операции get Team Foundation Server не заменяет файл или диск, пока не будет указан параметр /all. Параметр /overwrite позволяет принудительно перезаписать доступную для записи текущую версию рабочей области указанной серверной версией для восстановления согласованного состояния рабочей области, если она стала неуправляемой, что иногда происходит при удалении или случайной перезаписи нескольких файлов на диске. При передаче параметра /force Team Foundation Server перезаписывает все извлеченные элементы в рабочей области последними серверными версиями, если не указать конкретную версию.

При выполнении операции get Team Foundation Server удаляет из локальной рабочей области все извлеченные файлы, удаленные с сервера после последней синхронизации рабочей области и сервера. Переименованные или перемещенные файлы на сервере будут перемещены на диске в соответствии с изменениями, сделанными на сервере.

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

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

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

Соответственно, операция извлечения не выполняет операцию получения последних версий извлекаемых файлов. Обновление одного извлекаемого файла приведет к нарушению целостности снимка и может привести к тому, что конфигурацию файлов из системы управления версиями нельзя будет построить или протестировать. Также Team Foundation Server заставляет выполнять последнюю операцию get в некоторый момент перед возвратом внесенных изменений, чтобы при попытке возврата изменений и при отсутствии самой последней копии появлялось диалоговое окно разрешения конфликтов.

Можно также настроить в Team Foundation Server автоматическое получение последней версии при извлечении. Дополнительные сведения см. в разделе Настройка параметров извлечения.

Дополнительные сведения о поиске программы командной строки tf см. в разделе Команды служебной программы командной строки "tf".

Процесс Get

При использовании команды get для уже извлеченного элемента сервера в рабочей области и изменении версии на сервере, выдается запрос на разрешение конфликта между версией в рабочей области и полученной версией на сервере. Дополнительные сведения см. в разделе Команда Resolve.

Примеры

В следующем примере с сервера извлекается последняя версия файла "314.cs". Если имеются ожидающие изменения файла 314.cs, то Team Foundation Server инициирует процесс разрешения, помогающий решить, как обрабатывать конфликты.

C:\projects>tf get 314.cs

В следующем примере с сервера извлекается версия 8 файла "1256.cs".

Примечание

Использование 1256.cs;8 эквивалентно использованию 1256.cs;C8.Если указан только номер после точки с запятой, то по умолчанию используется версия набора изменений.

C:\>tf get 1256.cs;8

В следующем примере из папки сервера и вложенных папок извлекаются последние версии всех незамаскированных элементов в каталог "C:\projects" и создаются необходимые локальные папки. Подробные сведения о маскировании папок и снятии маскировки см. в разделе Команда Workfold.

C:\projects>tf get

В следующем примере представлены альтернативные способы извлечения версии файла "1256.cs", который был возвращен с набором изменений "1999".

c:\projects>tf get /version:C1999 1256.cs

либо

c:\projects>tf get 1256.cs;C1999

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

c:\projects>tf get /version:C271

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

c:\projects>tf get /version:Lbuild42

В следующем примере с сервера извлекается версия файла с определенной датой и временем.

c:\projects>tf get /version:D2008-01-21T16:00

См. также

Задачи

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

Маскировка и отмена маскировки папок в рабочей области

Ссылки

Команда Resolve

Команда merge

Команды Checkout и Edit

Команда Checkin

Команда Unshelve

Команда Workfold

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

Команды служебной программы командной строки "tf"