TFS2012:将变更集(具有历史记录)移动到新分支

TFS2012:将变更集(具有历史记录)移动到新分支,tfs,branching-and-merging,Tfs,Branching And Merging,我最近向一个没有使用版本控制的项目团队介绍了TFS。我们的结构非常简单: 生产就绪代码的主要分支 (完整)测试就绪代码的开发分支 未准备好测试的不完整代码的功能分支 正如我所说,这个团队不习惯使用版本控制。在假期里,一位积极的团队成员决定尝试开发一个特性,但是他直接在DEV中完成了这项工作,并进行了多次签入。他的功能还不完整,所以我现在不想看到它,但我不想失去变更集的历史 最明显的方法是在其特性之前的最后一个变更集上创建一个新分支,将其余的合并到新分支,然后回滚开发。然而,我担心我会丢失变更

我最近向一个没有使用版本控制的项目团队介绍了TFS。我们的结构非常简单:

  • 生产就绪代码的主要分支
  • (完整)测试就绪代码的开发分支
  • 未准备好测试的不完整代码的功能分支
正如我所说,这个团队不习惯使用版本控制。在假期里,一位积极的团队成员决定尝试开发一个特性,但是他直接在DEV中完成了这项工作,并进行了多次签入。他的功能还不完整,所以我现在不想看到它,但我不想失去变更集的历史

最明显的方法是在其特性之前的最后一个变更集上创建一个新分支,将其余的合并到新分支,然后回滚开发。然而,我担心我会丢失变更的历史记录,在新分支中只剩下一个“合并”变更集

如果是这种情况,是否有一种方法可以简单地将某个变更集之后的所有变更集移动到一个新分支中并保留历史记录

编辑:基本上我想把这个:

DEV ---(1)--(2)--(3)--(4)--(5)--(6)--
为此:

DEV ---(1)--(2)--(3)----------------
                    \
               NEW   (4)--(5)--(6)--

这在TFVC(或任何其他SVC)中不受支持。如果您使用的是Git is TFS,那么会有希望,但不是在这里。您建议的解决方案是您唯一的途径。

这令人失望,在git中实现这一点非常容易。这似乎是一个非常有用的功能,可以忽略。。。因此,如果我这样做的话,所有内容都将被压缩到一个提交中,对吗?它不是“遗漏”的。这实际上是所有基于服务器的源代码管理系统的一个特征,在Perforce、Subversion和任何其他线性系统中都会看到相同的情况。我建议您将代码移动到TFS中使用Git创建的新团队项目中。。。