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 |
要创建分支的项的版本。 可以通过以下方式指定版本:
如果不提供版本,Team Foundation 将使用下面的逻辑来决定将项的哪一个版本复制到新的分支:
如果对工作区版本比 Team Foundation 版本控制 服务器中的最新版本更早的文件进行分支,则文件在更早的版本上进行分支。 |
/lock |
防止其他用户在您签入挂起的分支和相关更改之前签入或签出项。 有关更多信息,请参见 了解锁定类型。 锁定选项:
|
/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