Команда Branch (Team Foundation Version Control)
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]
Параметры
Аргумент
аргумент | описание |
---|---|
<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> . |
Выбор
параметра
описание
/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
Другие пользователи могут извлечь указанные элементы, но они не могут регистрировать исправления для заблокированных файлов, пока не выпустите блокировку, выполнив вход. Если другие пользователи заблокировали любой из указанных элементов, операция блокировки завершается ошибкой.checkout
Запрещает другим пользователям выполнять вход или проверку любого из указанных элементов, пока не выпустите блокировку, выполнив вход. Если другие пользователи заблокировали любой из указанных элементов, операция блокировки завершается ошибкой.
/noget
Если этот параметр указан, локальные копии файлов и папок в новой ветви не создаются в локальной рабочей области. Однако локальные копии будут извлечены в рабочую область при следующем выполнении операции рекурсивного получения.
Заметка
Вы можете запретить получение элементов, таких как содержимое папки /images в рабочую область во время рекурсивного получения и получения последних операций, закрыв папку рабочей области. Дополнительные сведения см. в разделе Workfold Command.
/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 testdata папку Azure DevOps Server и из текущего каталога на диск в рабочую папку, которая сопоставляется с папкой testdata testdata Azure DevOps Server.
c:\projects>tf branch C:\314.cs $/testdata
В следующем примере копируются все файлы без ожидающих изменений в текущей версии рабочей области файлов тестов и файлы, содержащиеся для всех элементов из текущей папки 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
Связанные статьи
- использовать команды управления версиями Team Foundation
- папок и файлов ветви
- команда команд
ветвей - команда слияния
- работа с наборами изменений