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


Команда Branch (система управления версиями Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Команда TFVC branch копирует элемент или набор элементов, включая метаданные и журнал управления версиями, из одного расположения в другое на сервере Azure DevOps и в локальной рабочей области.

Примечание.

Результаты этой команды не отражаются на сервере Azure DevOps, пока не будет выполнена операция проверка. Дополнительные сведения см. в статье "Проверка работы в базе кода команды".

Необходимые компоненты

Чтобы использовать branch команду, необходимо иметь разрешение на чтение исходного элемента, а также разрешения на получение и слияние для целевой папки, заданной в параметре Allow. Дополнительные сведения см. в разделе "Разрешения TFVC по умолчанию".

Синтаксис

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Параметры

Аргумент

Argument Description
<olditem> Указывает имя исходного файла или папки, ветвленной. Кроме того, сведения <olditem> о версии могут содержаться в формате item;version.
<newitem> Указывает имя целевого файла или папки или родительской папки для назначения. Если <*newitem> она уже существует и является папкой Azure DevOps Server, TFVC создает ветвленные элементы внутри него. <newitem> В противном случае указывает имя целевого файла или папки. Конфликты могут возникать во время проверка в случае, если назначение уже существует.
<versionspec> Предоставляет значение параметра /version . Дополнительные сведения о том, как TFVC анализирует спецификацию версии, чтобы определить, какие элементы находятся в область, см. в разделе "Использование команд управления версиями Team Foundation".
<comment> Предоставляет комментарий о ветви.
@<commentfile> Указывает путь файла, содержащего комментарий, используемый для ветви.
<authorname> Указанное пользователем /author значение параметра.
<username> Предоставляет значение /login для параметра. Можно указать значение имени пользователя как DOMAIN\username или <username>.

Вариант

Параметр

Description

/version

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

  • Дата и время (D10/20/2005)
  • Номер набора изменений (C1256)
  • Label (Lmylabel)
  • Последняя версия (T)
  • Рабочая область (Wworkspacename)

Если версия не указана, TFVC использует следующую логику, чтобы решить, какая версия элемента копируется в новую ветвь:

  • Если указан путь к серверу Azure DevOps, TFVC ветвляет элемент в последнюю версию Azure DevOps Server. Например, tf branch $/projects/help.cs использует версию сервера.
  • Если для источника указан локальный путь, TFVC использует локальную версию рабочей области для создания новой ветви. Например, tf branch C:\314.cs используется версия локальной рабочей области.

Если вы ветвите файл, версия рабочей области которого старше последней версии на сервере Azure DevOps, файл будет ветвлен на более старой версии.

/lock

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

Параметры блокировки:

  • none
    По умолчанию. Блокировка не применяется. Если блокировка существует в файле, для который вы создаете ветвь, этот параметр удаляет его.
  • checkin
    Другие пользователи могут проверка указанные элементы, но они не могут проверка в редакциях для заблокированных файлов, пока не выпустите блокировку, выполнив проверка-in. Если другие пользователи заблокировали любой из указанных элементов, операция блокировки завершается ошибкой.
  • checkout
    Запрещает другим пользователям проверка в или проверка выходить из любого из указанных элементов, пока не выпустите блокировку, выполнив проверка-в. Если другие пользователи заблокировали любой из указанных элементов, операция блокировки завершается ошибкой.

/noget

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

Примечание.

Вы можете запретить получение элементов, таких как содержимое папки /images , в рабочую область во время рекурсивного получения и получения последних операций, закрыв папку рабочей области. Дополнительные сведения см. в разделе "Команда Workfold".

/noprompt

Подавляет любые запросы на входные данные.

/silent

Подразумевает /nogetи указывает, что выходные данные не записываются в окно командной строки при создании ветви.

/checkin

Создает и проверка в ветви на сервер в одной операции. Этот параметр не создает ожидающие изменения в локальной рабочей области.

/comment

Добавляет комментарий в новую ветвь. Этот параметр используется только с параметром /checkin .

/author

Определяет автора новой ветви. Этот параметр используется только с параметром /checkin .

/recursive

Для папок также ветвление всех файлов внутри.

Замечания

Если указать локальный путь, например c:\00101, но не указать, <versionspec>TFVC использует локальную версию рабочей области в качестве основы для создания новой ветви.

Однако если указать путь к серверу, например $/00101/*.cs и не указать <versionspec>, TFVC использует последнюю версию Azure DevOps Server в качестве основы для создания новой ветви.

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

Примеры

В следующих примерах предполагается, что c:\projects сопоставляется с главной папкой в рабочей области.

В следующем примере создается файл ветви, содержащий последнюю версию 314.cs рабочей области, именуя его 314_branch, и сохраняет его в текущем каталоге на диске, а также в папку Azure DevOps Server, с которой она сопоставляется.

c:\projects>tf branch 314.cs 314_branch

Следующий пример копирует все файлы без ожидающих изменений в версии рабочей области 314.cs из текущей папки Azure DevOps Server в папку testdata Azure DevOps Server и из текущего каталога на диск в рабочую папку, которая сопоставляется с папкой testdata Azure DevOps Server.

c:\projects>tf branch C:\314.cs $/testdata

В следующем примере копируются все файлы без ожидающих изменений в текущей версии рабочей области папки testfiles и файлы, содержащиеся для всех элементов из текущей папки Azure DevOps Server, в папку testfiles_branch Azure DevOps Server и из c:\testfiles в локальную папку, которая сопоставляется с папкой testfiles_branch Azure DevOps Server.

c:\projects>tf branch C:\testfiles $/testfiles_branch

В следующем примере создается ветвь 314.cs , как она существовала в наборе изменений #4 для файла. В рабочей папке на диске, как и на сервере Azure DevOps, создается файл ветви с названием csharp_branch .

c:\projects>tf branch C:\314.cs;C4 csharp_branch

В следующем примере создается новая ветвь 314.cs , так как она была 12.12.03. В рабочей папке на диске, как на сервере Azure DevOps, создается файл ветви с названием 314\branch .

c:\projects>tf branch 314.cs;D12/12/03 314_branch

В следующем примере версия 314.cs , к которой Beta1 была применена метка, называет ее Beta1branch и сохраняет ее в текущем каталоге на диске в дополнение к папке Azure DevOps Server, с которой сопоставляется текущий каталог.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch