我的源代码控制上有以下分支,基于以下需求:
我们有多种环境,但在这种情况下,重要的是测试和生产。我们有多个并发项目需要由不同的团队开发,并在准备好后在单个测试环境中进行测试。当它们准备就绪时,可以将它们推向生产(如果需要在集成环境中进行额外的测试)。我们无法将功能组织到专用版本中 - 它们需要按照业务要求进行。
因此,我们在结构方面确定的是每个环境的分支加功能分支,我们接受了我们将在Test分支中执行无基础合并。没什么大不了的,因为我们可以通过UI将特定的变更集合并到Test。
$ / Benefits / Source / Main - 我们进行生产和/或集成部署的主干
$ / Benefits / Source / Test - 我们将功能合并到主要测试中的分支
$ / Benefits / Source / Dev / LURE-7 - 从行李箱分支
$ / Benefits / Source / Dev / [其他功能] - 从trunk分支
我有一个功能分支,已成功合并并测试。不幸的是,测试分支被一些合并严重搞砸了,我们决定简单地删除和重新创建测试分支将是最好的方法。我们删除了Test分支并从Trunk重新创建它。
我现在需要将我的功能分支重新合并到Test中,看起来我的功能分支保留了其无根合并的历史记录,并认为我的更改已经在目标分支中。我已经验证特定文件更改不在那里。
基本上发生了什么,当我在合并向导的第一页中选择“特定变更集”时,下一页不会显示比原始分支更新的任何变更集。
我的测试分支的历史记录,您可以看到它已被删除并重新创建:
(6/27我合并了我的功能分支,7/5我删除并重新创建了测试分支)
答案 0 :(得分:2)
当您删除TFS中的分支时,它仍然存在,只是隐藏。如果您创建一个具有相同名称/位置的新分支,则TFS将取消删除旧分支。
最好的方法是
tf destroy
。如果历史不重要,请使用此选项。 小心使用此命令。一旦它消失,恢复它的唯一方法就是从你的TFS数据库备份。