Version control 安全地删除TFS分支项目

Version control 安全地删除TFS分支项目,version-control,tfs,branch,Version Control,Tfs,Branch,我目前正在为一组非常大的解决方案重新组织我们的TFS源代码管理,到目前为止我已经成功地完成了这项工作 我现在有一个问题,我需要删除一个遗留的“发布分支”TFS项目,该项目是为旧结构分支的,并且不再需要,因为我现在在新结构中托管了一个发布分支 这是源代码管理在移动所有内容后的表现: $/Source Project /Trunk /[Projects] /Release /[Projects] $/Release Branch Project

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

我现在有一个问题,我需要删除一个遗留的“发布分支”TFS项目,该项目是为旧结构分支的,并且不再需要,因为我现在在新结构中托管了一个发布分支

这是源代码管理在移动所有内容后的表现:

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

$/Release Branch Project
    /[Projects]
    /[Other legacy stuff]
到目前为止,我发现的信息表明:

  • 删除分支
  • 删除项目的步骤
  • tf delete
    似乎仅在我需要删除与主干位于同一项目中的分支时才相关,而且
    TfsDeleteProject
    似乎不会从源项目中删除分支关联(我希望我错了,请参见下文)


    有人能告诉我,如果要成功删除TFS
    $/Release分支项目,同时删除分支关联(从右键单击
    $/Source Project
    ->Properties->branchs),上述操作是否有效,以及我应该按什么顺序执行?

    在TFS中,通常不能永久删除团队项目中的任何内容(并且
    TfsDeleteProject
    删除完整的团队项目,但不清楚是否会实际删除源代码管理内容,因为团队项目只是源代码管理树的顶层)

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

    您可以使用权限使所有人都无法访问它。或者在“过时”团队项目下重命名

    编辑(我终于记住了这个命令的位置):

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

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


    我希望这将删除分支记录以创建现在已销毁的文件。。。但是你可能需要检查一下。

    让我把事实说成这样:

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

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

    VS2013
    中,我在@Radhika answer下找不到它

    我确实在
    teamexplorer>sourcecontrolexplorer>项目>分支和合并>转换到文件夹上的
    鼠标右键
    下找到了它

    希望这能节省你的时间

    Edit从@DdW的注释中复制:转换后,在启用删除选项之前,您需要执行一个
    获取最新版本的操作

    使用回滚删除分支
  • 右键单击“选择分支”
  • 选择“回滚到特定变更集”
  • 输入1
  • 设定。 选择1

  • 分支将被标记为删除
  • 签入更改,它将从源代码管理中删除

  • 因此,如果我删除发布分支团队项目,这会正确地将其从分支列表中取消关联,还是会在其中保留一个引用?基本上我想“unbranch”。谢谢你的更新。似乎有风险:s我想我会先执行TFS备份,lolI没有这个选项。您使用的是什么版本的VS和TFS?仅当您已将文件夹转换为分支并希望将其转换回文件夹时,此选项才可用。必须使用“tf destroy”命令从命令行销毁分支(不是转换)。请注意,转换后,在启用
    删除
    选项之前,需要执行
    获取最新版本