Branch 命令

branch 命令将一个项或一组项(包括元数据和版本控制历史记录)从 Team Foundation 版本控制 服务器和本地工作区中的一个位置复制到另一个位置。

提示

在您执行签入操作之前,此命令的结果不会反映在 Team Foundation 版本控制 服务器中。 有关更多信息,请参见 签入挂起的更改

所需权限

若要使用 branch 命令,您必须针对源项将**“读”权限设置为“允许”,并针对目标文件夹将“签出”“合并”权限设置为“允许”**。 有关更多信息,请参见 Team Foundation Server 权限

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

参数

参数

说明

olditem

指定所分支的源文件或文件夹的名称。 olditem 也可以包含 item;version 格式的版本信息。

newitem

指定目标文件或文件夹的名称或目标的父文件夹的名称。 如果 newitem 已存在并且是一个 Team Foundation 版本控制 服务器文件夹,Team Foundation 将在其中创建分支项。 否则,newitem 指定目标文件或文件夹的名称。 如果目标已存在,则签入期间会发生冲突。

versionspec

提供 /version 选项的值。 有关 Team Foundation 如何分析版本规范以确定哪些项在其范围内的更多信息,请参见命令行语法(版本控制)

comment

提供关于分支的注释。

@commentfile

指定包含用于分支的注释的文件的路径。

authorname

用户提供的 /author 选项的值。

username

/login 选项提供值。 可以按域\用户名或用户名的格式指定用户名值。

选项

说明

/version

要创建分支的项的版本。 可以通过以下方式指定版本:

  • 日期/时间 (D10/20/2005)

  • 变更集号 (C1256)

  • 标签 (Lmylabel)

  • 最新版本 (T)

  • 工作区 (Wworkspacename)

如果不提供版本,Team Foundation 将使用下面的逻辑来决定将项的哪一个版本复制到新的分支:

  • 如果指定了 Team Foundation 版本控制 服务器路径,则 Team Foundation 将对最新的 Team Foundation 版本控制 服务器版本上的项进行分支。 例如,tf branch $/projects/help.cs 使用服务器版本。

  • 如果指定了源的本地路径,则 Team Foundation 使用本地的工作区版本来创建新的分支。 例如,tf branch C:\314.cs 使用本地的工作区版本。

如果对工作区版本比 Team Foundation 版本控制 服务器中的最新版本更早的文件进行分支,则文件在更早的版本上进行分支。

/lock

防止其他用户在您签入挂起的分支和相关更改之前签入或签出项。 有关更多信息,请参见 了解锁定类型

锁定选项:

  • 默认值。 不应用锁定。 如果要为其创建分支的文件上已经存在锁,此选项会将其移除。

  • Checkin

    其他用户可以签出指定项,但在您通过执行签入来释放锁之前,他们无法签入对锁定文件的修订。 如果任何其他用户已锁定任一指定项,则锁定操作将失败。

  • Checkout

    通过执行签入,可在您释放锁定之前阻止其他用户签入或签出任何指定项。 如果任何其他用户已锁定任一指定项,则锁定操作将失败。

/noget

如果指定此选项,则不会在本地工作区中创建新的分支中的文件和文件夹的本地副本。 不过,当您下次执行递归的“获取”(Get) 操作时,本地副本将被检索到工作区。

注意注意
通过掩蔽工作区文件夹,可以防止其中的项(如 /images 文件夹的内容)在递归的“获取”(Get) 和“获取最新”(Get Latest) 操作期间被检索到工作区。有关更多信息,请参见 Workfold 命令

/noprompt

取消显示需要您输入的任何提示。

/silent

暗指 /noget 并指定在创建分支时输出不写入命令提示符窗口。

/checkin

在一次操作中创建和签入服务器的分支。 此选项不会在本地工作区中创建任何挂起的更改。

/comment

向新分支中添加注释。 此选项只能与 /checkin 选项一起使用。

/author

标识新分支的作者。 此选项只能与 /checkin 选项一起使用。

备注

如果您指定了本地路径(如 c:\00101)而未指定 版本规范,则 Team Foundation 将使用本地的工作区版本作为创建新分支的基础。

但是,如果您指定了服务器路径(如 $/00101/*.cs)而未指定 版本规范,则 Team Foundation 将改为使用最新的 Team Foundation 版本控制 服务器版本作为创建新分支的基础。

有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

示例

下面的示例创建一个包含 314.cs 的最新工作区版本的分支文件,将其命名为“314_branch”,然后将其保存到磁盘上的当前目录以及该目录所映射到的 Team Foundation 版本控制 服务器文件夹。

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

下面的示例将 314.cs 工作区版本中无挂起编辑操作的所有文件从该文件的当前 Team Foundation 版本控制服务器文件夹复制到 testdata Team Foundation 版本控制服务器文件夹,以及从磁盘的当前目录复制到映射到 testdata Team Foundation 版本控制服务器文件夹的工作文件夹。

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

下面的示例将 testfiles 文件夹的当前工作区版本中无挂起编辑操作的所有文件以及该文件夹所包含的所有项的文件从该文件夹的当前 Team Foundation 版本控制服务器文件夹复制到 testfiles_branch Team Foundation 版本控制服务器文件夹,以及从 c:\testfiles 复制到映射到 testfiles_branch Team Foundation 版本控制服务器文件夹的本地文件夹。

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

下面的示例按照 314.cs 的分支在此文件的变更集 #4 中的样子创建 314.cs 的分支。 在磁盘上的工作文件夹和 Team Foundation 版本控制 服务器中,将创建一个名为 csharp_branch 的分支文件。

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

下面的示例创建日期为 12/12/03 的 314.cs 的新分支。 在磁盘上的工作文件夹和 Team Foundation 版本控制 服务器中,将创建一个名为 314_branch 的分支文件。

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

下面的示例对应用了“Beta1”标签的 314.cs 版本进行分支,将其命名为“Beta1branch”,然后将其保存到磁盘上的当前目录以及当前目录映射到的 Team Foundation 版本控制 服务器文件夹。

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

请参见

任务

对文件夹和文件进行分支

参考

Branches 命令

Merge 命令

概念

使用变更集

其他资源

Tf 命令行实用工具命令