Команда 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