分支命令 (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
命令,请具有源项的 读取 权限,签出 和 合并 权限设置为“允许 允许”。 有关详细信息,请参阅 默认 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
要在其中创建分支的项的版本。 可以通过以下方式指定版本:
- 日期/时间 (2005/D10/20)
- 更改集编号 (C1256)
- 标签 (Lmylabel)
- 最新版本(T)
- 工作区(Wworkspacename)
如果未提供版本,TFVC 使用以下逻辑来确定要复制到新分支的项版本:
- 如果指定了 Azure DevOps Server 路径,则 TFVC 会将该项分支到最新的 Azure DevOps Server 版本。 例如,
tf branch $/projects/help.cs
使用服务器版本。 - 如果为源指定了本地路径,TFVC 将使用本地工作区版本来创建新分支。 例如,
tf branch C:\314.cs
使用本地工作区版本。
如果对工作区版本早于 Azure DevOps 服务器中最新版本的文件进行分支,则该文件将分支到旧版本。
/lock
防止其他用户签入或签出项目,直到签入挂起的分支和相关更改。 有关详细信息,请参阅 了解锁类型。
锁定选项:
none
违约。 未应用锁。 如果要为其创建分支的文件上存在锁,此选项将删除它。checkin
其他用户可以签出指定的项,但在通过执行签入释放锁定之前,他们无法签入锁定文件的修订。 如果任何其他用户锁定了任一指定项,则锁定操作将失败。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 文件夹中的所有文件及其包含的所有项的文件复制到 testfiles_branch Azure DevOps Server 文件夹中,并将 c:\testfiles 映射到 testfiles_branch Azure DevOps Server 文件夹的本地文件夹中复制所有文件。
c:\projects>tf branch C:\testfiles $/testfiles_branch
以下示例创建 314.cs 分支,因为它存在于文件的 changeset #4 中。 在磁盘上的工作文件夹中,与在 Azure DevOps 服务器中一样,将创建标题为 csharp_branch 的分支文件。
c:\projects>tf branch C:\314.cs;C4 csharp_branch
以下示例在 12/12/03 上创建 314.cs 的新分支。 在磁盘上的工作文件夹中,创建标题为 314\branch 的分支文件
c:\projects>tf branch 314.cs;D12/12/03 314_branch
以下示例将应用 Beta1
标签 314.cs 版本分支,将其命名 为 beta1branch,并将其保存到磁盘上的当前目录,以及当前目录映射到的 Azure DevOps Server 文件夹。
c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch