安全删除TFS分支项目

Cod*_*uth 25 version-control tfs branch

我目前正在为一组非常大的解决方案重新组织我们的TFS源代码控制,到目前为止我已经成功完成了这项工作.

我现在有一个问题,我需要删除旧的结构分支的旧版"Release Branch"TFS项目,并且不再需要,因为我现在在新结构中托管了一个发布分支.

这是源控件现在在移动所有内容后的示例:

$/Source Project
    /Trunk
        /[Projects]
    /Release
        /[Projects]

$/Release Branch Project
    /[Projects]
    /[Other legacy stuff]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现信息说:

  1. tf delete /lock:checkout /recursive TestMain 删除分支.
  2. TfsDeleteProject 删除项目

tf delete当我需要删除与trunk相同的项目中的分支时,似乎只是相关的,并且TfsDeleteProject似乎不会从源项目中删除分支关联(我希望我错了,见下文).

有人可以告诉我,如果以上工作,以及我应该以什么顺序执行它们,成功删除TFS $/Release Branch Project同时还删除分支关联(从右键单击$/Source Project- >属性 - >分支)?

Ric*_*erg 40

让我说出这样的事实:

  • 在TFS源控制系统的上下文中,"删除"是纯逻辑操作.您可以随时取消删除.您可以让多个已删除的项目随着时间的推移占用相同的路径,甚至可以同时占用.分支关系得以保留.
  • TFS"Destroy"是物理移除.为了维护数据库的完整性,这意味着所有的实体关系被移除过:变更历史,挂起的更改记录,搁置版本,融合历史,是 - 分支层次结构.这个Destroy功能是在TFS 2008中引入的.
  • Destroy是唯一允许更改合并历史记录表的操作(从中确定分支关系).所有其他操作都严格追加.
  • TfsDeleteProject尽力完全删除项目的所有痕迹,主要目标是允许创建具有相同名称的全新项目.一些TFS子系统支持物理删除; 某些(例如WIT字段元数据)仅支持逻辑删除,即使在TFS 2008及更高版本中也是如此.在源代码控制的情况下,TfsDeleteProject在2005年调用"delete",在2008+调用"destroy".


Ric*_*ard 16

在TFS中,您通常无法永久删除团队项目内的任何内容(并TfsDeleteProject删除完整的团队项目,但不清楚源控件内容是否会被实际删除,因为团队项目只是源代码控制树的顶级).

删除文件或整个文件集只是另一个跟踪的更改,回到历史记录中仍然可以看到.

您可以使用权限使所有人无法访问.或者在"过时"团队项目下重命名.

编辑(我终于记得这个命令在哪里):

从命令行还有另一个选项tf destroy:

从Team Foundation版本控制中销毁或永久删除版本控制的文件.

我希望这可以删除分支记录来创建,现在销毁的文件......但是你可能需要检查.


小智 8

选择要取消分支的分支文件夹.然后 File > Source Control > Branching and Merging > Convert to Folder.

  • 如果您已将文件夹转换为分支并希望将其转换回文件夹,则这只是一个选项.必须使用"tf destroy"命令从命令行销毁分支(不是转换). (2认同)

Mat*_*ius 5

VS2013我在@Radhika 答案下找不到它

我确实在下面找到了它Team Explorer > Source Control Explorer >right mouse on project > Branching and Merging > Convert to folder

在此输入图像描述

希望这可以节省您的时间。

编辑从 @DdW 的评论复制:您需要Get Latest Version在转换后、启用删除选项之前执行